序文JavaScriptを学ぶ学生は、 AJAX (非同期JavaScriptと まず、ネイティブJSでAjaxネットワークリクエストを送信する方法を確認しましょう。 クラシック4ステップ1. ネイティブ js ajax ネットワーク リクエスト // IE9 以上 // const xhr = new XMLHttpRequest() // IE9 以下 // const xhr = new ActiveXObject('Mricosoft.XMLHTTP') // この互換性のある書き込み方法では、関数 createXHR() { をカプセル化する関数を使用できます。 var 要求 = null; if (window.XMLHttpRequest) { // この XMLHttpRequest オブジェクトがある場合は、req = new XMLHttpRequest(); を使用します。 } それ以外 { // それ以外の場合は、IE8 以降のメソッドを使用します req = new ActiveXObject("Microsoft.XMLHTTP"); } 返品要求; } // ステップ 1: ajax オブジェクトを作成する var xhr = createXHR(); // この方法で ajax オブジェクトを取得します // ステップ 2: ネットワーク要求情報を構成する xhr.open('get', './demo.php', true) // xhr.open('get/post', 'ネットワーク リクエストを送信するアドレス'、同期または非同期、デフォルトでは非同期の場合は true、同期の場合は false) // GET リクエストにパラメータがある場合は、アドレスの後に連結する必要があります (例: './demo.php?id=2&name=sanqi') // POST リクエストの場合は、パラメータを send() に配置する必要があります。例: xhr.send('id=2&name=sanqi') // ステップ 3: ネットワーク要求を送信する xhr.send() // // パート4: 応答ステータスを判別し、データを取得する xhr.onreadyStateChange = function () { // このイベントは readyState が変化するたびにトリガーされます // ここで readyState の値が 4 かどうかを確認します // httpステータスコードは200〜299です xhr.readyState === 4 の場合 && /^2\d{2|$/.test(xhr.status)) { // これは検証に合格したことを意味します // サーバーからの応答の内容を取得できます console.log(xhr.response); } } readyStateの5つの状態は次のとおりです。
上記は、Ajaxネットワークリクエストを送信するネイティブjsです。 2. jQueryを使用したAjaxネットワークリクエストについて jQuery を学習していたとき、jQuery がすべてをカプセル化していて、ネットワーク リクエストを記述する必要がないとみんなが言っていることに気付きました。それでも、盲目になるわけにはいかないので、jQuery を使用する前に詳細を理解する必要があります。 (1)jQueryを使ってgetリクエストを送信する 次の統合バックエンドコードでは、ファイル名: test.phpを使用します。 <?php ヘッダー('content-type:text/html;charset=utf-8;'); $id = $_REQUEST['id']; $name = $_REQUEST['name']; $arr = [ 'id' => $id、 '名前' => $名前 ]; json_encode をエコーします($arr); ?> jQueryを使用してGETリクエストを送信する $.get('./test.php','id=999&name=三七安',function (res) { // 最初のパラメータは要求されたアドレスです // 2 番目のパラメータはサーバーに送信されるデータです // 3 番目のパラメータは成功した場合のコールバック関数で、サービスから返されるデータが含まれます // 4 番目のパラメータは取得するデータ形式です。json、text、html、xml、script などのオプションがあります コンソールログ(res); },'json') リクエストが正常に送信されたことがわかります。 (2)jQueryを使って投稿リクエストを送信する $.post('./test.php',{id:123,name:'投稿リクエスト'},function (res) { // ここでのその他のパラメータは、get リクエストのものと同じです。 // ここで送信データをオブジェクト形式で書き込んでおり、リクエストは正常に送信できることに注意してください。つまり、get リクエストでも post リクエストでも、サーバーにデータを送信する場合は、文字列形式またはオブジェクト形式のいずれかを使用できます。 console.log(res); },'json') これはリクエストが成功したページです (3)jQueryを使って包括的なAjaxリクエストを送信する まずは構文を見てみましょう // $.ajax メソッドを使用します // 受け入れるパラメータはオブジェクト 1 つだけです。このオブジェクトは現在のリクエストのすべての構成を実行します。$.ajax({ url: './ajax', // 必須、リクエストされたアドレス type: 'GET', // オプション、リクエストメソッド、デフォルトは GET (大文字と小文字を区別しない) data: {}, // オプション、リクエスト送信時に渡されるパラメータ dataType: 'json', // オプション、期待される戻り値のデータ型、デフォルトは文字列 async: true, // オプション、非同期操作を有効にするかどうか、デフォルトは true success() {}, // オプション、成功時のコールバック関数 error() {}, // オプション、失敗時のコールバック関数 cache: true, // オプション、キャッシュするかどうか、デフォルトは true context: div, // オプション、コールバック関数内の this が指す、デフォルトは ajax オブジェクトです status: {}, // オプション、対応するステータス コードに従って関数を実行します timeout: 1000, // オプション、タイムアウト イベント }) 毎回たくさんのパラメータを入力しなければならないように思えますが、実際にはほとんどのパラメータはオプションです。実際の状況に応じて入力するだけです。 コンパイラでは、ajaxを直接入力することで、コードを素早く生成することもできます。 Ajaxリクエストコードを送信する $.ajax({ タイプ: "get", URL: "./test.php"、 データ: { id:000, name:'$.ajax リクエストを送信するデモ' }, データ型: "json", 成功: 関数 (応答) { console.log(応答); } }); ウェブページを開くと、バックエンドから返されたデータが表示されます。 ここでは、フック関数とも呼ばれる Ajax グローバル関数をいくつか紹介します。これは、Ajax リクエスト プロセス全体の特定の段階で実行され、あらゆる Ajax リクエストによってトリガーされる関数です。 1. ajaxStart 、この関数はリクエストが開始されるとトリガーされます $(window).ajaxStart(関数() { console.log('リクエストが開始されました') }) 2. ajaxSend 、このリクエストは、リクエストの送信準備ができる前にトリガーされます。 $(window).ajaxSend(関数() { console.log('送信されようとしています') }) 3.ajaxSuccess 、この関数はリクエストが成功したときにトリガーされます。 $(window).ajaxSuccess(関数() { console.log('リクエストは成功しました') }) 4.ajaxError 、リクエストが失敗したときにこの関数がトリガーされます。 $(window).ajaxError(関数() { console.log('リクエストが失敗しました') }) 5.ajaxComplete 、この関数はリクエストが完了したときにトリガーされます $(window).ajaxComplete(関数() { console.log('リクエストが完了しました') }) 6.ajaxStop、この関数はリクエストが終了したときにトリガーされます $(window).ajaxStop(関数() { console.log('リクエストが終了しました') }) 要約するjQuery における ajax の関連知識ポイントのまとめはこれで終わりです。jQuery ajax の関連知識ポイントをもっと知りたい場合は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: MySQL 5.7.18 無料インストールバージョンの設定チュートリアル
>>: 知らないかもしれないLinuxのファイル権限管理方法
データベースへの接続などの基本的な操作はご自身で行ってください。この記事ではパスワードの変更方法を中...
表示するデータが多い場合、1 つのチャートに表示しても効果はよくありません。このとき、2 つのチャー...
目次発見: ディスプレイアニメーションの応用実装:記事の1行目を表示する効果を実現する方法実際、その...
一般的な演算子と JavaScript の演算子の概要カテゴリオペレーター算術演算子+、–、*、/、...
テストでは、ページ定義がutf-8でエンコードされている場合、 js ファイルに中国語などのマルチバ...
目次配列をフラット化する方法1.flat() の使用2. 正規表現を使用する3.reduce()+c...
目次1. MySQLデータのバックアップ1.1、データをバックアップするためのmysqldumpコマ...
a タグ疑似クラスの役割: 「:link」: 訪問されていないタグの状態。 「:visited」: ...
1. 仮想環境はプロジェクトに従い、単一のプロジェクト用の仮想環境を作成します(Python 3.4...
HTML チェックボックスとラジオボタンスタイルの美化の簡単な例チェックボックス: XML/HTML...
<br />友人と話し合っていたとき、フレームワークのレイヤー設計の中で最も核となるのは...
フローティング要素は、親要素の高さを縮小します。要素を float float:left/right...
この記事では、jQueryカルーセル機能の実装コードを参考までに共有します。具体的な内容は次のとおり...
ミニプログラムは、参考までに完全なショッピングカート[すべて選択/選択解除して金額を計算/加算と減算...
序文この記事は主に CentOS7 で PHP スケジュールタスクを実行することに関する関連コンテン...