Maison >interface Web >js tutoriel >Que savez-vous des paramètres de la méthode $.ajax() ? Explication détaillée de chaque paramètre de la méthode $.ajax()

Que savez-vous des paramètres de la méthode $.ajax() ? Explication détaillée de chaque paramètre de la méthode $.ajax()

寻∝梦
寻∝梦original
2018-09-10 15:56:121633parcourir

Cet article vous parle principalement de l'explication détaillée de chaque paramètre de la méthode $.ajax(). Apprenons-en plus sur les paramètres ajax et commençons à lire cet article maintenant

1.url :
nécessite des paramètres de type String, (la valeur par défaut est l'adresse de la page actuelle) à laquelle la requête est envoyé.

2.type :
nécessite des paramètres de type String et la méthode de requête (post ou get) est par défaut get. Notez que d'autres méthodes de requête http telles que put et delete peuvent également être utilisées, mais ne sont prises en charge que par certains navigateurs.

3.timeout :
nécessite un paramètre de type Number et définit le délai d'expiration de la requête (millisecondes). Ce paramètre remplacera le paramètre global de la méthode $.ajaxSetup().

4.async :
nécessite des paramètres de type booléen. Le paramètre par défaut est vrai. Toutes les requêtes sont des requêtes asynchrones. Si vous devez envoyer des requêtes synchrones, définissez cette option sur false. Notez qu'une requête synchrone verrouillera le navigateur et que l'utilisateur devra attendre que la requête soit terminée avant de pouvoir effectuer d'autres opérations.

5.cache :
nécessite un paramètre de type booléen, la valeur par défaut est true (lorsque le dataType est script, la valeur par défaut est false), le définir sur false ne provoquera pas le navigateur pour charger les informations de demande dans le cache.

6.data :
nécessite des paramètres de type Objet ou Chaîne, données envoyées au serveur. S'il ne s'agit pas d'une chaîne, elle sera automatiquement convertie au format chaîne. La demande d'obtention sera ajoutée à l'URL. Pour empêcher cette conversion automatique, cochez l'option processData. L'objet doit être au format clé/valeur, par exemple {foo1:"bar1",foo2:"bar2"} est converti en &foo1=bar1&foo2=bar2. S'il s'agit d'un tableau, JQuery attribuera automatiquement le même nom à différentes valeurs. Par exemple, {foo:["bar1","bar2"]} est converti en &foo=bar1&foo=bar2.

7.dataType :
nécessite des paramètres de type String, le type de données qui devrait être renvoyé par le serveur. S'il n'est pas spécifié, JQuery renverra automatiquement ResponseXML ou ResponseText en fonction des informations MIME du package http et les transmettra en tant que paramètre de fonction de rappel. Les types disponibles sont les suivants :
xml : Renvoie un document XML pouvant être traité avec JQuery.
html : renvoie les informations HTML en texte brut ; la balise de script incluse sera exécutée une fois insérée dans le DOM.
script : renvoie le code JavaScript en texte brut. Les résultats ne sont pas automatiquement mis en cache. Sauf si les paramètres du cache sont définis. Notez que lors de requêtes à distance (pas sous le même domaine), toutes les requêtes de publication seront converties en requêtes get.
json : renvoie les données JSON.
jsonp : format JSONP. Lors de l'appel d'une fonction à l'aide du formulaire SONP, tel que myurl?callback=?, JQuery remplacera automatiquement le dernier "?" par le nom de fonction correct pour exécuter la fonction de rappel.
text : renvoie une chaîne de texte brut.

8.beforeSend :
nécessite un paramètre de type Function. Vous pouvez modifier la fonction de l'objet XMLHttpRequest avant d'envoyer la requête, par exemple en ajoutant un en-tête HTTP personnalisé. Si false est renvoyé dans beforeSend, cette requête ajax peut être annulée. L'objet XMLHttpRequest est le seul paramètre.

            function(XMLHttpRequest){
               this;   //调用本次ajax请求时传递的options参数
            }

9.complete :
nécessite un paramètre de type Function, une fonction de rappel appelée une fois la requête terminée (appelée lorsque la requête réussit ou échoue) . Paramètres : objet XMLHttpRequest et une chaîne décrivant le type de requête réussie.

         function(XMLHttpRequest, textStatus){
             this;    //调用本次ajax请求时传递的options参数
          }

10.success:要求为Function类型的参数,请求成功后调用的回调函数,有两个参数。
         (1)由服务器返回,并根据dataType参数进行处理后的数据。
         (2)描述状态的字符串。

         function(data, textStatus){
            //data可能是xmlDoc、jsonObj、html、text等等
            this;  //调用本次ajax请求时传递的options参数
         }

11.error:
要求为Function类型的参数,请求失败时被调用的函数。该函数有3个参数,即XMLHttpRequest对象、错误信息、捕获的错误对象(可选)。ajax事件函数如下:

       function(XMLHttpRequest, textStatus, errorThrown){
          //通常情况下textStatus和errorThrown只有其中一个包含信息
          this;   //调用本次ajax请求时传递的options参数
       }

12.contentType
要求为String类型的参数,当发送信息至服务器时,内容编码类型默认为"application/x-www-form-urlencoded"。该默认值适合大多数应用场合。

13.dataFilter
要求为Function类型的参数,给Ajax返回的原始数据进行预处理的函数。提供data和type两个参数。data是Ajax返回的原始数据,type是调用jQuery.ajax时提供的dataType参数。函数返回的值将由jQuery进一步处理。

            function(data, type){
                //返回处理后的数据
                return data;
            }

14.dataFilter
要求为Function类型的参数,给Ajax返回的原始数据进行预处理的函数。提供data和type两个参数。data是Ajax返回的原始数据,type是调用jQuery.ajax时提供的dataType参数。函数返回的值将由jQuery进一步处理。

            function(data, type){
                //返回处理后的数据
                return data;
            }

15.global
要求为Boolean类型的参数,默认为true。表示是否触发全局ajax事件。设置为false将不会触发全局ajax事件,ajaxStart或ajaxStop可用于控制各种ajax事件。

16.ifModified
要求为Boolean类型的参数,默认为false。仅在服务器数据改变时获取新数据。服务器数据改变判断的依据是Last-Modified头信息。默认值是false,即忽略头信息。

17.jsonp
要求为String类型的参数,在一个jsonp请求中重写回调函数的名字。该值用来替代在"callback=?"这种GET或POST请求中URL参数里的"callback"部分,例如{jsonp:'onJsonPLoad'}会导致将"onJsonPLoad=?"传给服务器。

18.username
要求为String类型的参数,用于响应HTTP访问认证请求的用户名。

19.password
要求为String类型的参数,用于响应HTTP访问认证请求的密码。

20.processData
要求为Boolean类型的参数,默认为true。默认情况下,发送的数据将被转换为对象(从技术角度来讲并非字符串)以配合默认内容类型"application/x-www-form-urlencoded"。如果要发送DOM树信息或者其他不希望转换的信息,请设置为false。

21.scriptCharset
要求为String类型的参数,只有当请求时dataType为"jsonp"或者"script",并且type是GET时才会用于强制修改字符集(charset)。通常在本地和远程的内容编码不同时使用。(想看更多就到PHP中文网AJAX开发手册栏目中学习)

案例代码:

$(function(){
    $('#send').click(function(){
         $.ajax({
             type: "GET",
             url: "test.json",
             data: {username:$("#username").val(), content:$("#content").val()},
             dataType: "json",
             success: function(data){
                         $('#resText').empty();   //清空resText里面的所有内容
                         var html = ''; 
                         $.each(data, function(commentIndex, comment){
                               html += '346aba7b39b1c0ee1f3b184fad76163a4e9ee319e0fa4abc21ff286eeb145ecc' + comment['username']
                                         + ':489364b7e0629f9745997c79a31b7c6ddffa8ba8878e0ba38ca4846ff634519594b3e26ee717c64999d7867364b1b4a3';
                         });
                         $('#resText').html(html);
                      }
         });
    });
});

22.顺便说一下$.each()函数:
$.each()函数不同于JQuery对象的each()方法,它是一个全局函数,不操作JQuery对象,而是以一个数组或者对象作为第1个参数,以一个回调函数作为第2个参数。回调函数拥有两个参数:第1个为对象的成员或数组的索引,第2个为对应变量或内容。
本篇文章到这就结束了(想看更多就到PHP中文网AJAX使用手册栏目中学习),有问题的可以在下方留言提问。

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn