ajax 関数は、バックグラウンド HTTP リクエストを通じてリモート データをロードするために使用される jQuery.ajax() 関数を指します。これは、jQuery によってカプセル化された AJAX テクノロジ実装です。この関数を通じて、リモート データを取得できます。現在のページのサーバー上のデータを更新せずに。
この記事の動作環境: Windows 7 システム、jquery バージョン 3.2.1、Dell G3 コンピューター。
ajax 関数とは何ですか?
jQuery.ajax() 関数の詳細説明
jQuery.ajax()
関数は、バックグラウンドで ロードするために使用されます。 HTTP リクエスト リモート データ 。
jQuery.ajax()
この関数は、jQuery によってカプセル化された AJAX テクノロジの実装であり、この関数を通じて、現在のページを更新せずにリモート サーバー上のデータを取得できます。
jQuery.ajax()
この関数は、jQuery の基礎となる AJAX 実装です。 jQuery.get()、jQuery.post()、load()、jQuery.getJSON()、jQuery.getScript() およびその他の関数はすべてこの関数の簡略化された形式です (これらはすべてこの関数を呼び出しますが、パラメーター設定が異なります)または多少の違いがあります)。省略)。
この関数は、グローバル jQuery
オブジェクトに属します (静的関数としても理解できます)。
パラメータ
前の構文セクションで定義した パラメータ名に従って、対応するパラメータを見つけてください。
#パラメータ | 説明 |
url |
文字列型URL リクエスト文字列。
|
settings |
オプション/オブジェクト タイプ オブジェクト オブジェクト。その各属性は、リクエストの送信に必要な追加のパラメーター設定を指定するために使用されます。
|
Parameterssettings
はオブジェクトです。jQuery.ajax()
はオブジェクトの次のプロパティを識別できます (これらはすべて オプション):
accepts --- ObjectType
デフォルト値: に依存します。 dataType
属性。
送信されるコンテンツ タイプのリクエスト ヘッダーは、ブラウザがサーバーからどのような種類の応答を受信できるかをサーバーに伝えるために使用されます。
async --- ブール型
デフォルト値: true
。
それが非同期リクエストであるかどうかを示します。同期リクエストは、リモート データが取得されるまでブラウザをロックし、他の操作を実行できなくなります。
#beforeSend---関数タイプ
送信前に実行する必要があるものを指定します。リクエストが送信されるコールバック。この関数には 2 つのパラメータもあります。1 つは jqXHR オブジェクト、もう 1 つは現在の
settings オブジェクトです。これは
Ajax イベントです。関数が false を返した場合、この Ajax リクエストはキャンセルされます。
#キャッシュ---ブール型デフォルト値:
true(dataType
が「script」または「jsonp」の場合、デフォルトは false
)。
URL リクエストをキャッシュするかどうかを示します。
false に設定すると、ブラウザ は現在の URL リクエストを
キャッシュしなくなります。このパラメータは、HEAD リクエストと GET リクエストに対してのみ有効です (POST リクエスト自体はキャッシュされません)。
complete---関数/配列タイプ指定されたリクエスト
Complete (成功または失敗に関係なく)後に実行する必要があるコールバック関数。この関数には 2 つのパラメータもあります。1 つは jqXHR オブジェクトで、もう 1 つはリクエストのステータス ('success'、'notmodified'、'error'、'timeout'、'abort'、または'パーサーエラー')。これは Ajax イベントです。
jQuery 1.5 以降、属性値は
array の形式で複数の関数にすることができ、各関数はコールバックによって実行されます。
#コンテンツ---オブジェクト タイプ1.5 New##指定されたコンテンツ タイプに応じて jQuery が応答を解析する方法を決定する、「{string:正規表現}」とペアになったオブジェクト。
#contentType---
String Typeデフォルト値: 'application/x- www-form-urlencoded; charset=UTF-8'。 指定されたコンテンツ エンコード タイプを使用してデータをサーバーに送信します。 W3C の XMLHttpRequest 仕様では、文字セットは常に UTF-8 であると規定されており、別の文字セットに変更する場合、ブラウザに文字エンコードの変更を強制することはできません。
コンテキスト---
オブジェクト タイプ Ajax 関連のコールバック関数の設定に使用されます。 コンテキストオブジェクト (つまり、関数内の this ポインター)。
コンバータ
---
オブジェクト タイプ1.5 新しいデフォルト値: {'* text': window.String, 'text html': true, 'text json': jQuery.parseJSON, 'text xml': jQuery.parseXML} # 。
データ型コンバーター。各コンバータの値は、応答の変換された値を返す 関数です。 <span id="9_nwp"></span>
#クロスドメイン---
ブール型1.5 新しい デフォルト値: 同一ドメインリクエストは false、クロスドメインリクエストは true です。
それがクロスドメインリクエストであるかどうかを示します。 (JSONP 形式のように) 同じドメイン内でクロスドメイン要求を強制する場合は、true に設定します。これにより、たとえば、別のドメインへの サーバー側のリダイレクトが可能になります。
data---サーバーに送信される任意のタイプのデータ
は自動的に転送されます。文字列型の。 GET リクエストの場合は、URL に追加されます。
dataFilter---関数タイプ
生データを処理するためのコールバックを指定しますレスポンス関数の。この関数には 2 つのパラメータもあります。1 つは応答の元のデータを表す文字列で、もう 1 つは <span id="8_nwp">dataType</span>
属性文字列です。
#dataType---String 型
デフォルト値: jQuery スマート推測、推測スコープ (#xml、json、script または html)
返されるデータ型を指定します。属性値は次のとおりです。
'- xml': jQuery を使用して処理できる XML ドキュメントを返します。
'- html': HTML 文字列を返します。
'- script': JavaScript コードを返します。結果は自動的にキャッシュされません。 cache
パラメータが設定されていない限り。注: リモート要求 (同じドメインの下ではない) を行う場合、すべての POST 要求は GET 要求に変換されます。 (読み込みにDOMスクリプトタグを使用するため)
'- json': JSONデータを返します。 JSON データは strict 構文 (プロパティ名は二重引用符で囲む必要があり、すべての文字列は二重引用符で囲む必要があります) を使用して解析され、解析が失敗するとエラーがスローされます。 jQuery 1.9 以降、空のコンテンツを含む応答は null
または
{} を返します。
'- jsonp': JSONP 形式。 「url?callback=?」などの JSONP 形式を使用して関数を呼び出すと、jQuery は 2 番目の ? を正しい 関数名に自動的に置き換えて、コールバック関数を実行します。
'- text': プレーン テキスト文字列を返します。
#エラー---関数/配列型リクエスト
が失敗した場合に実行されるコールバック関数を指定します。この関数には 3 つのパラメータがあります: jqXHR オブジェクト、リクエスト ステータス文字列 (null、'timeout'、'error'、'abort'、および 'parsererror')、エラー メッセージ文字列 ('Not Found' などの応答ステータスのテキスト説明部分) ' または '内部サーバー エラー')。これは Ajax イベントです。クロスドメイン スクリプトおよびクロスドメイン JSONP リクエスト は、この関数を呼び出しません。 jQuery 1.5 以降、属性値は 配列 の形式で複数の
関数にすることができ、各関数はコールバックによって実行されます。 #グローバル---
ブール型デフォルト値: ## #真実###。 グローバル Ajax イベントをトリガーするかどうかを示します。この値を false
に設定すると、ajaxStart() や ajaxStop() などのグローバル イベント ハンドラーがトリガーされなくなります。さまざまな Ajax イベントを制御するために使用できます。
#ヘッダー
---
オブジェクト タイプ
1.5 新規
デフォルト値:{}。 追加のリクエスト ヘッダー情報をオブジェクト形式で指定します。リクエスト ヘッダー XX-Requested-With: XMLHttpRequest は常に追加されますが、ここでデフォルトの XMLHttpRequest 値を変更することもできます。
headers の値は、beforeSend
コールバック関数で設定された要求ヘッダーをオーバーライドできます (つまり、beforeSend が最初に呼び出されます)。
$.ajax({
url: "my.php" ,
headers: { "Referer": "http://www.365mini.com" // 有些浏览器不允许修改该请求头
,"User-Agent": "newLine" // 有些浏览器不允许修改该请求头
,"X-Power": "newLine"
,"Accept-Language": "en-US"
}
});
ログイン後にコピー
ifModified---
ブール型
デフォルト値: false 。 サーバー データが変更された場合にのみ、現在のリクエストで新しいデータを取得できるようにします (変更されていない場合、ブラウザーはキャッシュからデータを取得します)。 HTTP ヘッダー情報 Last-Modified を使用して決定します。 jQuery 1.4 以降では、サーバー指定の「etag」もチェックして、データが変更されているかどうかを判断します。
isLocal
---
ブール型
1.5.1 新規追加