La fonction ajax fait référence à la fonction jQuery.ajax(), qui est utilisée pour charger des données distantes via des requêtes HTTP en arrière-plan. Il s'agit d'une implémentation de la technologie AJAX encapsulée par jQuery, nous pouvons obtenir des données sur le serveur distant sans. rafraîchir la page actuelle.
L'environnement d'exploitation de cet article : système Windows 7, jquery version 3.2.1, ordinateur Dell G3.
Qu'est-ce que la fonction ajax ?
Explication détaillée de la fonction jQuery.ajax()
La fonction jQuery.ajax()
est utilisée pour jQuery.ajax()
函数用于通过后台HTTP请求加载远程数据。
jQuery.ajax()
函数是jQuery封装的AJAX技术实现,通过该函数,我们无需刷新当前页面即可获取远程服务器上的数据。
jQuery.ajax()
函数是jQuery的底层AJAX实现。jQuery.get()、 jQuery.post()、load()、 jQuery.getJSON()、 jQuery.getScript()等函数都是该函数的简化形式(都调用该函数,只是参数设置有所不同或有所省略)。
该函数属于全局jQuery
charger des données distantes via des requêtes HTTP en arrière-plan
jQuery.ajax()
est une implémentation de la technologie AJAX encapsulée par jQuery Grâce à cette fonction, nous pouvons obtenir des données sur le serveur distant sans actualiser la page en cours. La fonction jQuery.ajax()
est l'implémentation AJAX sous-jacente de jQuery. jQuery.get(), jQuery.post(), load(), jQuery.getJSON(), jQuery.getScript() et d'autres fonctions sont toutes des formes simplifiées de cette fonction (elles appellent toutes cette fonction, mais les paramètres sont différents ou présentent quelques différences) omis).
jQuery
(peut également être compris comme une fonction statique). Veuillez trouver les paramètres correspondants en fonction des | noms de paramètres définis dans la section de syntaxe précédente.|
---|---|
Paramètre | Description |
Chaîne de requête d'URL de type chaîne. |
Le paramètre settings
est un objet, et jQuery.ajax()
peut reconnaître les propriétés suivantes de l'objet (elles sont toutes optionnelles) : settings
是一个对象,jQuery.ajax()
可以识别该对象的以下属性(它们都是可选的):
默认值:取决于dataType
属性。
发送的内容类型请求头,用于告诉服务器——浏览器可以接收服务器返回何种类型的响应。
默认值:true
。
指示是否是异步请求。同步请求将锁定浏览器,直到获取到远程数据后才能执行其他操作。
指定在请求发送前需要执行的回调函数。该函数还有两个参数:其一是jqXHR
对象,其二是当前settings
对象。这是一个Ajax事件,如果该函数返回false
,将取消本次ajax请求。
默认值:true
(dataType
为'script'或'jsonp'时,则默认为false
)。
指示是否缓存URL请求。如果设为false
将强制浏览器不缓存当前URL请求。该参数只对HEAD、GET请求有效(POST请求本身就不会缓存)。
指定请求完成(无论成功或失败)后需要执行的回调函数。该函数还有两个参数:一个是jqXHR
对象,一个是表示请求状态的字符串('success'、 'notmodified'、 'error'、 'timeout'、 'abort'或'parsererror')。这是一个Ajax事件。
从jQuery 1.5开始,该属性值可以是数组形式的多个函数,每个函数都将被回调执行。
一个以"{字符串:正则表达式}"配对的对象,用来确定jQuery将如何解析响应,给定其内容类型。
默认值:'application/x-www-form-urlencoded; charset=UTF-8'。
使用指定的内容编码类型将数据发送给服务器。W3C的XMLHttpRequest规范规定charset始终是UTF-8,你如果将其改为其他字符集,也无法强制浏览器更改字符编码。
用于设置Ajax相关回调函数的上下文对象(也就是函数内的this
指针)。
默认值:{'* text': window.String, 'text html': true, 'text json': jQuery.parseJSON, 'text <span id="9_nwp">xml': jQuery.parseXML}</span>
。
一个数据类型转换器。每个转换器的值都是一个函数,用于返回响应转化后的值。
默认值:同域请求为false
,跨域请求为true
ObjectType
dataType propriété. 🎜🎜L'en-tête de demande de type de contenu envoyé est utilisé pour indiquer au serveur quel type de réponse le navigateur peut recevoir du serveur. 🎜<h4><span style="color: rgba(153, 204, 0, 1)"><strong>async<span style="color: rgba(0, 0, 0, 1)"> --- 🎜 </span></strong>🎜<span class="type" style="color: rgba(0, 0, 0, 1)">Type booléen🎜</span></span></h4>🎜Valeur par défaut : <code>true
. 🎜🎜Indique s'il s'agit d'une requête asynchrone. Les requêtes synchrones verrouillent le navigateur jusqu'à ce que les données distantes soient obtenues et qu'aucune autre opération ne puisse être effectuée. 🎜jqXHR
et l'autre est l'objet settings
actuel. Il s'agit d'un événement Ajax. Si la fonction renvoie false
, cette requête ajax sera annulée. 🎜🎜true
( Lorsque dataType
est 'script' ou 'jsonp', la valeur par défaut est false
). 🎜🎜Indique s'il faut mettre en cache les requêtes d'URL. S'il est défini sur false
, cela forcera le navigateur à ne pas mettre en cache la requête URL actuelle. Ce paramètre n'est valide que pour les requêtes HEAD et GET (les requêtes POST elles-mêmes ne seront pas mises en cache). 🎜jqXHR
et l'autre est une chaîne représentant l'état de la requête ("success", "notmodified", "error", "timeout", "abort" ou 'erreur d'analyse'). Il s'agit d'un événementAjax. 🎜🎜🎜À partir de jQuery 1.5, la valeur de l'attribut peut être plusieurs fonctions sous la forme d'un tableau, et chaque fonction sera exécutée par un rappel. 🎜this
dans la fonction). 🎜{'* texte' : window.String, 'text html' : true, 'text json' : jQuery.parseJSON, 'text <span id="9_nwp">xml' : jQuery.parseXML}🎜. 🎜🎜Un convertisseur de type de données. La valeur de chaque convertisseur est une fonction <span id="25_nwp"> qui renvoie la valeur transformée de la réponse. 🎜🎜<h4><span style="color: rgba(153, 204, 0, 1)"><strong>crossDomain<span style="color: rgba(0, 0, 0, 1)">--- 🎜</span></strong><span class="type" style="color: rgba(0, 0, 0, 1)">Type booléen<span class="version">1.5 Nouveau 🎜🎜🎜</span></span></span></h4>🎜 Par défaut valeur : <code>false
pour les requêtes sur le même domaine et true
pour les requêtes inter-domaines. 🎜🎜Indique s'il s'agit d'une requête cross-domaine. Définissez sur true si vous souhaitez forcer les requêtes inter-domaines au sein du même domaine (comme dans le formulaire JSONP). Cela permet par exemple une redirection 🎜côté serveur vers un autre domaine. 🎜🎜envoyé au serveur sera automatiquement converti en type chaîne. S'il s'agit d'une requête GET, elle sera ajoutée à l'URL.
Spécifie la fonction de rappel qui traite les données brutes de la réponse. Cette fonction a également deux paramètres : l'un est une chaîne représentant les données d'origine de la réponse et l'autre est la chaîne d'attribut <span id="8_nwp">dataType<code><span id="8_nwp">dataType</span>
属性字符串。
默认值:jQuery智能猜测,猜测范围(xml、 json、 script或html)
指定返回的数据类型。该属性值可以为:
cache
参数。注意:在远程请求时(不在同一个域下),所有POST请求都将转为GET请求。(因为将使用DOM的script标签来加载)
null
或{}
。
指定请求失败时执行的回调函数。该函数有3个参数:jqXHR对象、 请求状态字符串(null、 'timeout'、 'error'、 'abort'和'parsererror')、 错误信息字符串(响应状态的文本描述部分,例如'Not Found'或'Internal Server Error')。这是一个Ajax事件。跨域脚本和跨域JSONP请求不会调用该函数。
从jQuery 1.5开始,该属性值可以是数组形式的多个函数,每个函数都将被回调执行。
默认值:true
。
指示是否触发全局Ajax事件。将该值设为false
将阻止全局事件处理函数被触发,例如ajaxStart()和ajaxStop()。它可以用来控制各种Ajax事件。
默认值:{}
。
以对象形式指定附加的请求头信息。请求头X-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" } });
默认值:false
。
允许当前请求仅在服务器数据改变时获取新数据(如未更改,浏览器从缓存中获取数据)。它使用HTTP头信息Last-Modified
Spécifiez le type de données renvoyé. La valeur de l'attribut peut être :
cache
est défini. Remarque : lors de requêtes distantes (pas sous le même domaine), toutes les requêtes POST seront converties en requêtes GET. (Car la balise de script DOM sera utilisée pour le chargement) 🎜
null
ou {}
. 🎜
true
. 🎜🎜Indique si l'événement Ajax global est déclenché. Définir cette valeur sur false
empêchera le déclenchement des gestionnaires d'événements globaux tels que ajaxStart() et ajaxStop(). Il peut être utilisé pour contrôler divers événements Ajax. 🎜🎜🎜🎜headers🎜---🎜🎜🎜Type d'objet🎜1.5 Nouveau 🎜🎜🎜🎜🎜Valeur par défaut : {}
. 🎜🎜Spécifiez les informations d'en-tête de demande supplémentaires sous forme d'objet. L'en-tête de requête X-Requested-With: XMLHttpRequest
sera toujours ajouté, mais vous pouvez également modifier la valeur XMLHttpRequest par défaut ici. La valeur dans headers
peut remplacer l'en-tête de requête défini dans la fonction de rappel beforeSend
(ce qui signifie que beforeSend est appelé en premier). 🎜$.ajax({ url: a_not_found_url , // 当响应对应的状态码时,执行对应的回调函数 statusCode: { 404: function() { alert( "找不到页面" ); }, 200: function(){ alert("请求成功"); } } });
false
. 🎜🎜Autorise la requête actuelle à obtenir de nouvelles données uniquement lorsque les données du serveur changent (si elles ne sont pas modifiées, le navigateur récupère les données du cache). Il utilise l'en-tête HTTP Last-Modified
pour déterminer. À partir de jQuery 1.4, il vérifie également le « etag » spécifié par le serveur pour déterminer si les données ont été modifiées. 🎜🎜🎜🎜isLocal🎜---🎜🎜🎜Type booléen 🎜Nouveau dans la version 1.5.1 🎜🎜🎜🎜🎜Par défaut : Dépend du protocole de localisation actuel. 🎜允许将当前环境视作"本地",(例如文件系统),即使默认情况下jQuery不会如此识别它。目前,以下协议将被视作本地:file
、*-extension
和widget
。
重写JSONP请求的回调函数名称。该值用于替代"url?callback=?"中的"callback"部分。
为JSONP请求指定一个回调函数名。这个值将用来取代jQuery自动生成的随机函数名。
从jQuery 1.5开始,你也可以指定一个函数来返回所需的函数名称。
一个mime类型用来覆盖XHR的mime类型。
用于响应HTTP访问认证请求的密码。
默认值:true
。
默认情况下,通过<span id="4_nwp">data</span>
属性传递进来的数据,如果是一个对象(技术上讲,只要不是字符串),都会处理转化成一个查询字符串,以配合默认内容类型 "application/x-www-form-urlencoded"。如果要发送 DOM树信息或其它不希望转换的信息,请设置为false
。
设置该请求加载的脚本文件的字符集。只有当请求时dataType为"jsonp"或"script",并且type是"GET"才会用于强制修改charset。这相当于设置