jQuery.ajaxPrefilter() 関数は、Ajax パラメーター オプションを前処理するための コールバック関数 を指定するために使用されます。
すべてのパラメーター オプションが jQuery.ajax() 関数によって処理される前に、この関数によって設定されたコールバック関数を使用して、事前にパラメーター オプションを変更できます。
データ型(dataType) を指定して、指定したデータ型のパラメーター オプションのみを前処理することもできます。
この関数を複数回呼び出して、異なるデータ型の AJAX リクエストに対して異なるコールバック関数を指定できます。
この関数はグローバル jQuery オブジェクトに属します。
Syntax
jQuery 1.5 では、この静的関数が追加されています。
jQuery.ajaxPrefilter([ dataType ,] handler )
parameters
dataTypeOptional/Stringtype
スペースで区切られた 1 つ以上のデータ型で構成される string。このパラメーターが指定されていない場合は、すべてのデータ型が表されます。利用可能なデータ型は「xml」、「html」、「text」、「json」、「jsonp」、「script」です。文字列はそれらの任意の組み合わせです (複数のタイプはスペースで区切られます)。たとえば、「xml」、「text html」、「script json jsonp」です。
handlerFunction type
パラメータオプションの前処理に使用されるコールバック関数。次の 3 つのパラメータがあります:
options: (Object ) 現在の AJAX リクエストのすべてのパラメータ オプション。
originalOptions: (オブジェクト) $.ajax() メソッドに渡される未変更のパラメーター オプション。
jqXHR: 現在のリクエストの jqXHR オブジェクト (jQuery によってカプセル化された XMLHttpRequest オブジェクト)。
戻り値
jQuery.ajaxPrefilter()関数には戻り値がないか、戻り値が未定義です。
例と説明
以下は、jQuery.ajaxPrefilter() 関数の具体的な使用法を示す、jQuery.ajaxPrefilter() 関数に関連する jQuery サンプル コードです:
//设置AJAX的全局默认选项 $.ajaxSetup( { url: "/index.html" , // 默认URL aysnc: false , // 默认同步加载 type: "POST" , // 默认使用POST方式 headers: { // 默认添加请求头 "Author": "CodePlayer" , "Powered-By": "CodePlayer" } , error: function(jqXHR, textStatus, errorMsg){ // 出错时默认的处理函数 // 提示形如:发送AJAX请求到"/index.html"时出错[404]:Not Found alert( '发送AJAX请求到"' + this.url + '"时出错[' + jqXHR.status + ']:' + errorMsg ); } } ); // 指定预处理参数选项的函数 $.ajaxPrefilter( function(options, originalOptions, jqXHR){ // options对象 包括accepts、crossDomain、contentType、url、async、type、headers、error、dataType等许多参数选项 // originalOptions对象 就是你为$.ajax()方法传递的参数对象,也就是 { url: "/index.php" } // jqXHR对象 就是经过jQuery封装的XMLHttpRequest对象(保留了其本身的属性和方法) options.type = "GET"; // 将请求方式改为GET options.headers = { }; // 清空自定义的请求头 }); // 执行AJAX请求 $.ajax( { url: "/index.php" } );
jQuery.ajaxPrefilter() 関数は、指定されたデータ パラメーターのみを前処理することもできますタイプ (dataType) の AJAX リクエストのオプション。 jQuery コードは次のようになります:
//设置AJAX的全局默认选项 $.ajaxSetup( { url: "/index.html" , // 默认URL aysnc: false , // 默认同步加载 type: "POST" , // 默认使用POST方式 headers: { // 默认添加请求头 "Author": "CodePlayer" , "Powered-By": "CodePlayer" } , error: function(jqXHR, textStatus, errorMsg){ // 出错时默认的处理函数 // 提示形如:发送AJAX请求到"/index.html"时出错[404]:Not Found alert( '发送AJAX请求到"' + this.url + '"时出错[' + jqXHR.status + ']:' + errorMsg ); } } ); // 指定预处理参数选项的函数,只预处理dataType为json或html类型的AJAX请求 $.ajaxPrefilter( "json html", function(options, originalOptions, jqXHR){ // options对象 包括accepts、crossDomain、contentType、url、async、type、headers、error、dataType等许多参数选项 // originalOptions对象 就是你为$.ajax()方法传递的参数对象,也就是 { url: "/index.php" } // jqXHR对象 就是经过jQuery封装的XMLHttpRequest对象(保留了其本身的属性和方法) if( options.data == null && options.type == "POST"){ options.type = "GET"; // 将请求方式改为GET options.headers = { }; // 清空自定义的请求头 } }); // 执行AJAX请求 $.ajax( { url: "/index.php" } ); // 执行AJAX请求(该请求会被预处理) $.ajax( { url: "action.php?type=json", dataType: "json" } );
以上がjQuery.ajaxPrefilter()関数の使い方の詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。