La fonction
jQuery.ajaxPrefilter() est utilisée pour spécifier la fonction de rappel pour le prétraitement des options des paramètres Ajax.
Avant que toutes les options de paramètres soient traitées par la fonction jQuery.ajax(), vous pouvez utiliser la fonction de rappel définie par cette fonction pour modifier les options de paramètres à l'avance.
Vous pouvez également spécifier un type de données(dataType) pour prétraiter uniquement les options de paramètres du type de données spécifié.
Cette fonction peut être appelée plusieurs fois pour spécifier différentes fonctions de rappel pour les requêtes AJAX de différents types de données.
Cette fonction appartient à l'objet global jQuery.
Syntaxe
jQuery 1.5 ajoute cette fonction statique.
jQuery.ajaxPrefilter( [ dataType ,] handler )
Paramètres
dataType optionnel/StringType
Un ou plusieurs A chaîne composée de types de données séparés par des espaces. Si ce paramètre n'est pas spécifié, tous les types de données sont représentés. Les types de données disponibles sont "xml", "html", "text", "json", "jsonp", "script". La chaîne est n'importe quelle combinaison entre eux (plusieurs types sont séparés par des espaces), par exemple : "xml", "text html", "script json jsonp".
handlerFunction type
Fonction de rappel utilisée pour le prétraitement des options de paramètres. Il possède les 3 paramètres suivants :
options : (Object ) Toutes les options de paramètres de la requête AJAX en cours.
originalOptions : (Object) Options de paramètres non modifiées transmises à la méthode $.ajax().
jqXHR : L'objet jqXHR de la requête en cours (l'objet XMLHttpRequest encapsulé par jQuery).
Valeur de retour
La fonction jQuery.ajaxPrefilter() n'a pas de valeur de retour ou sa valeur de retour n'est pas définie.
Exemple et description
Ce qui suit est l'exemple de code jQuery lié à la fonction jQuery.ajaxPrefilter() pour démontrer l'utilisation spécifique de la fonction jQuery.ajaxPrefilter() :
//设置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" } );
La fonction jQuery.ajaxPrefilter() peut également prétraiter uniquement les options de paramètre de la requête AJAX du type de données spécifié (dataType). Le code jQuery ressemble à ceci :
//设置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" } );
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!