Heim > Web-Frontend > Front-End-Fragen und Antworten > Was ist eine Ajax-Funktion?

Was ist eine Ajax-Funktion?

藏色散人
Freigeben: 2021-12-17 11:34:23
Original
2583 Leute haben es durchsucht

Ajax-Funktion bezieht sich auf die Funktion jQuery.ajax(), die zum Laden von Remote-Daten über Hintergrund-HTTP-Anfragen verwendet wird. Es handelt sich um eine von jQuery gekapselte Implementierung der AJAX-Technologie. Durch diese Funktion können wir Daten auf dem Remote-Server abrufen Aktualisieren der aktuellen Seite.

Was ist eine Ajax-Funktion?

Die Betriebsumgebung dieses Artikels: Windows 7-System, JQuery-Version 3.2.1, Dell G3-Computer.

Was ist die Ajax-Funktion?

jQuery.ajax()-Funktion, detaillierte Erklärung

jQuery.ajax()-Funktion wird verwendet, um jQuery.ajax()函数用于通过后台HTTP请求加载远程数据

jQuery.ajax()函数是jQuery封装的AJAX技术实现,通过该函数,我们无需刷新当前页面即可获取远程服务器上的数据。

jQuery.ajax()函数是jQuery的底层AJAX实现。jQuery.get()、 jQuery.post()、load()、 jQuery.getJSON()、 jQuery.getScript()等函数都是该函数的简化形式(都调用该函数,只是参数设置有所不同或有所省略)。

该函数属于全局jQueryRemote-Daten über Hintergrund-HTTP-Anfragen zu laden

.

Die Funktion jQuery.ajax() ist eine von jQuery gekapselte Implementierung der AJAX-Technologie. Mit dieser Funktion können wir Daten auf dem Remote-Server abrufen, ohne die aktuelle Seite zu aktualisieren.

jQuery.ajax()-Funktion ist die zugrunde liegende AJAX-Implementierung von jQuery. jQuery.get(), jQuery.post(), load(), jQuery.getJSON(), jQuery.getScript() und andere Funktionen sind alle vereinfachte Formen dieser Funktion (sie rufen alle diese Funktion auf, aber die Parametereinstellungen sind unterschiedlich oder weggelassen haben).

Diese Funktion gehört zum globalen jQuery-Objekt (kann auch als statische Funktion verstanden werden). ParameterParameternamen, die im vorherigen Syntaxabschnitt definiert wurden. Parameter urlsettings
Bitte finden Sie die entsprechenden Parameter basierend auf den
Beschreibung
String-Typ URL-Anforderungszeichenfolge.
🎜🎜Optional/Objekttyp Ein Objektobjekt, dessen jede Eigenschaft verwendet wird, um zusätzliche Parametereinstellungen anzugeben, die zum Senden der Anfrage erforderlich sind. 🎜🎜🎜🎜🎜

Der Parameter settings ist ein Objekt und jQuery.ajax() kann die folgenden Eigenschaften des Objekts erkennen (sie sind alle optional): settings是一个对象,jQuery.ajax()可以识别该对象的以下属性(它们都是可选的):

accepts --- Object类型

默认值:取决于dataType属性。

发送的内容类型请求头,用于告诉服务器——浏览器可以接收服务器返回何种类型的响应。

async --- Boolean类型

默认值:true

指示是否是异步请求。同步请求将锁定浏览器,直到获取到远程数据后才能执行其他操作。

beforeSend---Function类型

指定在请求发送前需要执行的回调函数。该函数还有两个参数:其一是jqXHR对象,其二是当前settings对象。这是一个Ajax事件,如果该函数返回false,将取消本次ajax请求。

cache---Boolean类型

默认值:true(dataType为'script'或'jsonp'时,则默认为false)。

指示是否缓存URL请求。如果设为false将强制浏览器不缓存当前URL请求。该参数只对HEAD、GET请求有效(POST请求本身就不会缓存)。

complete---Function/Array类型

指定请求完成(无论成功或失败)后需要执行的回调函数。该函数还有两个参数:一个是jqXHR对象,一个是表示请求状态的字符串('success'、 'notmodified'、 'error'、 'timeout'、 'abort'或'parsererror')。这是一个Ajax事件。

从jQuery 1.5开始,该属性值可以是数组形式的多个函数,每个函数都将被回调执行。

contents---Object类型1.5 新增

一个以"{字符串:正则表达式}"配对的对象,用来确定jQuery将如何解析响应,给定其内容类型。

contentType---String类型

默认值:'application/x-www-form-urlencoded; charset=UTF-8'。

使用指定的内容编码类型将数据发送给服务器。W3C的XMLHttpRequest规范规定charset始终是UTF-8,你如果将其改为其他字符集,也无法强制浏览器更改字符编码。

context---Object类型

用于设置Ajax相关回调函数的上下文对象(也就是函数内的this指针)。

converters --- Object类型1.5 新增

默认值:{'* text': window.String, 'text html': true, 'text json': jQuery.parseJSON, 'text <span id="9_nwp">xml': jQuery.parseXML}</span>

一个数据类型转换器。每个转换器的值都是一个函数,用于返回响应转化后的值。

crossDomain---Boolean类型1.5 新增

默认值:同域请求为false,跨域请求为true

akzeptiert ---

ObjectType

Standardwert: hängt von dataType ab Eigenschaft. 🎜🎜Der gesendete Inhaltstyp-Anforderungsheader wird verwendet, um dem Server mitzuteilen, welche Art von Antwort der Browser vom Server empfangen kann. 🎜<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)">Boolescher Typ🎜</span></span></h4>🎜Standardwert: <code>true. 🎜🎜Gibt an, ob es sich um eine asynchrone Anfrage handelt. Synchrone Anforderungen sperren den Browser, bis die Remote-Daten abgerufen werden und keine anderen Vorgänge ausgeführt werden können. 🎜

beforeSend---🎜 🎜Funktionstyp🎜

🎜Gibt die Rückruffunktion an, die vor der Anforderung ausgeführt werden muss gesendet. Diese Funktion hat auch zwei Parameter: einer ist das jqXHR-Objekt und der andere ist das aktuelle settings-Objekt. Dies ist ein Ajax-Ereignis. Wenn die Funktion false zurückgibt, wird diese Ajax-Anfrage abgebrochen. 🎜🎜

cache--- 🎜Boolescher Typ 🎜🎜

🎜Standardwert: true( Wenn dataType „script“ oder „jsonp“ ist, ist der Standardwert false). 🎜🎜Gibt an, ob URL-Anfragen zwischengespeichert werden. Wenn es auf false gesetzt ist, wird der Browser gezwungen, die aktuelle URL-Anfrage nicht zwischenzuspeichern. Dieser Parameter ist nur für HEAD- und GET-Anfragen gültig (POST-Anfragen selbst werden nicht zwischengespeichert). 🎜

komplett---🎜 Funktions-/Array-Typ🎜🎜

🎜Anfrage angebenVollständig( Die Rückruffunktion, die nach Erfolg oder Misserfolg ausgeführt werden muss. Diese Funktion hat auch zwei Parameter: Einer ist das jqXHR-Objekt und der andere ist eine Zeichenfolge, die den Anforderungsstatus („success“, „notmodified“, „error“, „timeout“, „abort“) darstellt. oder „Parserfehler“). Dies ist einAjax-Ereignis. 🎜🎜🎜Ab jQuery 1.5 kann der Attributwert aus mehreren Funktionen in Form eines Arrays bestehen, und jede Funktion wird durch einen Rückruf ausgeführt. 🎜

contents---🎜 Objekttyp1.5 fügt 🎜🎜🎜

🎜 Ein Objekt hinzu gepaart mit „{string:regex}“, das bestimmt, wie jQuery die Antwort angesichts ihres Inhaltstyps analysiert. 🎜

contentType---🎜 String-Typ🎜🎜

🎜Standardwert: 'application/x-www-form-urlencoded ; charset=UTF-8'. 🎜🎜Senden Sie Daten mithilfe des angegebenen Inhaltskodierungstyps an den Server. Die XMLHttpRequest-Spezifikation des W3C schreibt vor, dass der Zeichensatz immer UTF-8 ist. Wenn Sie ihn in einen anderen Zeichensatz ändern, können Sie den Browser nicht zwingen, die Zeichenkodierung zu ändern. 🎜

context---🎜 Objekttyp🎜🎜

🎜 wird verwendet, um das Kontextobjekt des Ajax-bezogenen Rückrufs festzulegen Funktion (d. h. dieser Zeiger innerhalb der Funktion). 🎜

Konverter --- 🎜 Objekttyp1.5 Neu 🎜🎜🎜

🎜Standardwerte : {'* text': window.String, 'text html': true, 'text json': jQuery.parseJSON, 'text <span id="9_nwp">xml': jQuery.parseXML}🎜. 🎜🎜Ein Datentypkonverter. Der Wert jedes Konverters ist eine <span id="25_nwp">-Funktion, die den transformierten Wert der Antwort zurückgibt. 🎜🎜<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)">Boolescher Typ<span class="version">1.5 Neu 🎜🎜🎜</span></span></span></h4>🎜 Standard Wert: <code>false für domänenübergreifende Anfragen und true für domänenübergreifende Anfragen. 🎜🎜Gibt an, ob es sich um eine domänenübergreifende Anfrage handelt. Auf „true“ setzen, wenn Sie domänenübergreifende Anforderungen (wie in JSONP) innerhalb derselben Domäne erzwingen möchten. Dadurch ist beispielsweise eine 🎜serverseitige Umleitung auf eine andere Domain möglich. 🎜🎜

Daten---Jeder Datentyp

, der an den Server gesendet wird, wird automatisch in den String-Typ konvertiert. Handelt es sich um eine GET-Anfrage, wird diese an die URL angehängt.

dataFilter---Funktionstyp

Gibt die Rückruffunktion an, die die Rohdaten der Antwort verarbeitet. Diese Funktion verfügt außerdem über zwei Parameter: Einer ist eine Zeichenfolge, die die Originaldaten der Antwort darstellt, und der andere ist die Attributzeichenfolge <span id="8_nwp">dataType<code><span id="8_nwp">dataType</span>属性字符串。

dataType---String类型

默认值:jQuery智能猜测,猜测范围(xml、 json、 script或html)

指定返回的数据类型。该属性值可以为:

  • 'xml' :返回XML文档,可使用jQuery进行处理。
  • 'html': 返回HTML字符串。
  • 'script': 返回JavaScript代码。不会自动缓存结果。除非设置了cache参数。注意:在远程请求时(不在同一个域下),所有POST请求都将转为GET请求。(因为将使用DOM的script标签来加载)
  • 'json': 返回JSON数据。JSON数据将使用严格的语法进行解析(属性名必须加双引号,所有字符串也必须用双引号),如果解析失败将抛出一个错误。从jQuery 1.9开始,空内容的响应将返回null{}
  • 'jsonp': JSONP格式。使用JSONP形式调用函数时,如"url?callback=?",jQuery将自动替换第二个?为正确的函数名,以执行回调函数。
  • 'text': 返回纯文本字符串。

error---Function/Array类型

指定请求失败时执行的回调函数。该函数有3个参数:jqXHR对象、 请求状态字符串(null、 'timeout'、 'error'、 'abort'和'parsererror')、 错误信息字符串(响应状态的文本描述部分,例如'Not Found'或'Internal Server Error')。这是一个Ajax事件。跨域脚本和跨域JSONP请求不会调用该函数。

从jQuery 1.5开始,该属性值可以是数组形式的多个函数,每个函数都将被回调执行。

global---Boolean类型

默认值:true

指示是否触发全局Ajax事件。将该值设为false将阻止全局事件处理函数被触发,例如ajaxStart()和ajaxStop()。它可以用来控制各种Ajax事件。

headers---Object类型1.5 新增

默认值:{}

以对象形式指定附加的请求头信息。请求头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"
    }
});
Nach dem Login kopieren

ifModified---Boolean类型

默认值:false

允许当前请求仅在服务器数据改变时获取新数据(如未更改,浏览器从缓存中获取数据)。它使用HTTP头信息Last-Modified

.

dataType---String-TypStandardwert: jQuery Smart Guess, Schätzbereich (xml, json, Skript oder HTML )

Geben Sie den zurückgegebenen Datentyp an. Der Attributwert kann sein:

  • 'xml': Gibt ein XML-Dokument zurück, das mit jQuery verarbeitet werden kann. 🎜🎜
  • 'html': Gibt einen HTML-String zurück. 🎜
  • 'script': Gibt JavaScript-Code zurück. Ergebnisse werden nicht automatisch zwischengespeichert. Es sei denn, der Parameter cache ist gesetzt. Hinweis: Bei Remote-Anfragen (nicht unter derselben Domäne) werden alle POST-Anfragen in GET-Anfragen umgewandelt. (Da zum Laden das DOM-Skript-Tag verwendet wird) 🎜
  • 'json': Gibt JSON-Daten zurück. JSON-Daten werden mithilfe der 🎜strict🎜-Syntax analysiert (Eigenschaftsnamen müssen in doppelte Anführungszeichen gesetzt werden, und alle Zeichenfolgen müssen in doppelte Anführungszeichen gesetzt werden). Wenn die Analyse fehlschlägt, wird ein Fehler ausgegeben. Ab jQuery 1.9 geben Antworten mit leerem Inhalt null oder {} zurück. 🎜
  • 'jsonp': JSONP-Format. Wenn Sie eine Funktion im JSONP-Format aufrufen, z. B. „url?callback=?“, ersetzt jQuery automatisch das zweite ? durch den korrekten Funktionsnamen , um die Rückruffunktion auszuführen. 🎜🎜
  • 'text': Gibt eine reine Textzeichenfolge zurück. 🎜
🎜🎜🎜Fehler🎜---🎜🎜🎜Funktions-/Array-Typ🎜🎜🎜🎜Geben Sie die Rückruffunktion an, die ausgeführt werden soll, wenn die Anfrage 🎜fehlschlägt🎜. Diese Funktion verfügt über drei Parameter: jqXHR-Objekt, Anforderungsstatuszeichenfolge (null, „timeout“, „error“, „abort“ und „parsererror“), Fehlermeldungszeichenfolge (Textbeschreibung, Teil des Antwortstatus, z. B. „Not Found“). ' oder 'Interner Serverfehler'). Dies ist einAjax-Ereignis. Domänenübergreifende Skripte und domänenübergreifende JSONP-Anfragen 🎜 rufen diese Funktion nicht 🎜 auf. 🎜🎜🎜Ab jQuery 1.5 kann der Attributwert mehrere -Funktionen in Form eines 🎜Array🎜 sein, und jede Funktion wird durch einen Rückruf ausgeführt. 🎜🎜🎜🎜🎜global🎜---🎜🎜🎜Boolescher Typ🎜🎜🎜🎜Standardwert: true. 🎜🎜Gibt an, ob das globale Ajax-Ereignis ausgelöst wird. Wenn Sie diesen Wert auf false setzen, wird verhindert, dass globale Ereignishandler wie ajaxStart() und ajaxStop() ausgelöst werden. Es kann zur Steuerung verschiedener Ajax-Ereignisse verwendet werden. 🎜🎜🎜🎜Header🎜---🎜🎜🎜Objekttyp🎜1.5 Neu 🎜🎜🎜🎜🎜Standardwert: {}. 🎜🎜Geben Sie zusätzliche Anforderungsheaderinformationen in Objektform an. Der Anforderungsheader X-Requested-With: XMLHttpRequest wird immer hinzugefügt, aber Sie können hier auch den Standardwert XMLHttpRequest ändern. Der Wert in headers kann den in der Rückruffunktion beforeSend festgelegten Anforderungsheader überschreiben (was bedeutet, dass beforeSend zuerst aufgerufen wird). 🎜
$.ajax({
    url: a_not_found_url ,    
    // 当响应对应的状态码时,执行对应的回调函数    
    statusCode: {        404: function() {
            alert( "找不到页面" );
        },        200: function(){
            alert("请求成功");
        }
    }
});
Nach dem Login kopieren
Nach dem Login kopieren
🎜🎜🎜ifModified🎜---🎜🎜🎜Boolescher Typ🎜🎜🎜🎜Standardwert: false. 🎜🎜Ermöglicht der aktuellen Anfrage, neue Daten nur dann abzurufen, wenn sich die Serverdaten ändern (bei unveränderten Daten ruft der Browser die Daten aus dem Cache ab). Zur Bestimmung wird der HTTP-Header Last-Modified verwendet. Ab jQuery 1.4 überprüft es auch das vom Server angegebene „etag“, um festzustellen, ob die Daten geändert wurden. 🎜🎜🎜🎜isLocal🎜---🎜🎜🎜Boolescher Typ 🎜Neu in 1.5.1 🎜🎜🎜🎜🎜Standard: Abhängig vom aktuellen Standortprotokoll. 🎜

允许将当前环境视作"本地",(例如文件系统),即使默认情况下jQuery不会如此识别它。目前,以下协议将被视作本地:file*-extensionwidget

jsonp---String类型

重写JSONP请求的回调函数名称。该值用于替代"url?callback=?"中的"callback"部分。

jsonpCallback---String/Function类型

为JSONP请求指定一个回调函数名。这个值将用来取代jQuery自动生成的随机函数名。

从jQuery 1.5开始,你也可以指定一个函数来返回所需的函数名称。

mimeType---String类型1.5.1 新增

一个mime类型用来覆盖XHR的mime类型。

password---String类型

用于响应HTTP访问认证请求的密码。

processData---Boolean类型

默认值:true

默认情况下,通过<span id="4_nwp">data</span>属性传递进来的数据,如果是一个对象(技术上讲,只要不是字符串),都会处理转化成一个查询字符串,以配合默认内容类型 "application/x-www-form-urlencoded"。如果要发送 DOM树信息或其它不希望转换的信息,请设置为false

scriptCharset---String类型

设置该请求加载的脚本文件的字符集。只有当请求时dataType为"jsonp"或"script",并且type是"GET"才会用于强制修改charset。这相当于设置

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage