jQuery における Ajax の関連知識ポイントのまとめ

jQuery における Ajax の関連知識ポイントのまとめ

序文

JavaScriptを学ぶ学生は、 AJAX (非同期JavaScriptと
xml) 変換は非同期 JavaScript と XML と呼ばれます。ネイティブ js でこれを使用してネットワーク リクエストを送信するのも面倒で、そのたびにいくつかの手順があります。

まず、ネイティブ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つの状態は次のとおりです。

  • readyState --> 0: 初期化が完了していない、つまり open メソッドがまだ実行されていないことを示します。
  • readyState --> 1: 構成情報が完了したことを示します。つまり、オープンが実行された後です。
  • readyState --> 2: send メソッドが実行されたことを示します。
  • readyState --> 3: レスポンスコンテンツが解析中であることを示します
  • readyState --> 4: レスポンスコンテンツが解析され、クライアントで使用できることを示します。

上記は、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 をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • JQueryのAjaxリクエストを使用して部分更新を実装する簡単な例
  • jQuery の Ajax 非同期リクエストは JSON データの例を受信して​​返します
  • クロスドメインリクエスト: jQuery の ajax jsonp の使用
  • jQuery Ajaxリクエストメソッドと処理中にユーザーに待機を促す
  • jQuery の Ajax リクエストにタイムアウトを追加する方法
  • jQuery.ajax クロスドメイン リクエスト WebAPI ヘッダー設定ソリューション
  • Excel テーブル実装コードをエクスポートするための JQuery Ajax リクエスト
  • Jquery Ajax リクエスト ファイル ダウンロード操作の失敗の分析と解決
  • jQuery Ajax リクエストパラメータと返されるデータ処理の簡単な分析
  • JQUERYの$.AJAXリクエストを終了する方法を教えます

<<:  MySQL 5.7.18 無料インストールバージョンの設定チュートリアル

>>:  知らないかもしれないLinuxのファイル権限管理方法

推薦する

入力と画像を揃えるためにvertical-alignを使用します

input と img を同じ行に配置すると、img タグが常に input より 1 つ上になり、...

Google 翻訳ツール: 多言語ウェブサイトを素早く実装

Google Chinaは、ウェブサイトやブログを素早く簡単に多言語化できる翻訳ツールをリリースした...

きちんとしたHTMLマークアップを使用してページを構築します

インターネットは絶えず進化する有機体です。長期にわたってインターネットの発展に適応できるページを構築...

PID を作成できないために MySQL が起動できない問題を解決する方法

問題の説明MySQL 起動エラー メッセージは次のとおりです。 mysqld を起動します (sys...

Windows と Linux 間のリモート デスクトップ接続

Linux へのリモート デスクトップ接続といえば、まず VNC の使用を思い浮かべるかもしれません...

IIS web.config でクロスドメイン アクセスを設定する方法

要件: ページに画像を表示する必要がありますが、さまざまな理由により、画像はサーバー 2 にあります...

MySQL はカスタムシーケンスを使用して row_number 関数を実装します (詳細な手順)

いくつかの記事を読んだ後、ようやく MySQL で row_number() ソートを実装する方法が...

VueはOSSを使用して画像や添付ファイルをアップロードします

OSS を使用して Vue プロジェクトに画像や添付ファイルをアップロードするここでは、写真のアップ...

フロントエンドとバックエンド分離プロジェクトのDockerデプロイメントの実装例

目次1. 環境整備2. イメージを実行する問題を解決するRedis のインストールNginx のイン...

Docker を使用した Laravel アプリケーションのデプロイ例

この記事で使用されているPHPベースイメージはphp:7.3-apacheです。この記事の Lara...

プロファイルを使用して遅い SQL を分析する MySQL の詳細な説明 (グループ左結合はサブクエリよりも効率的です)

プロファイルを使用して遅いSQLを分析するMySQL の SQL パフォーマンス アナライザーの主な...

VueプロジェクトにPWAを導入する手順

目次1. 依存関係をインストールする2. vue.config.js ファイルで pwa を設定しま...

MySQLオンラインログライブラリの移行例

最近の事例をお話ししましょう。オンライン Alibaba Cloud RDS 上のゲーム ログ ライ...

MySQL のインデックスとビューの使用方法と違いの詳細な説明

序文この記事では主に、MySQL のインデックスとビューの使用方法と違いを紹介し、参考と学習のために...

Docker で SVN サーバーを構築するチュートリアル

SVN は Subversion の略称で、ブランチ管理システムを使用して効率的に管理するオープンソ...