Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Erläuterung verschiedener Parameter von Ajax in JQuery

Detaillierte Erläuterung verschiedener Parameter von Ajax in JQuery

伊谢尔伦
伊谢尔伦Original
2017-06-19 10:12:301613Durchsuche

Die ajax()-Parametereinstellungen sind ein Objektobjekt, dessen Attribut zur Angabe zusätzlicher Parametereinstellungen verwendet wird, die zum Senden der Anfrage erforderlich sind.

jQuery.ajax() kann die folgenden Eigenschaften des Objekts erkennen (sie sind alle optional):

1.url:

erfordert Parameter vom Typ String, (Standardwerte zur aktuellen Seitenadresse) Die Adresse, an die die Anfrage gesendet werden soll.

2.type:

erfordert Parameter vom Typ String und die Anforderungsmethode (post oder get) ist standardmäßig get. Beachten Sie, dass auch andere http-Anfragemethoden, wie z. B. put und delete, verwendet werden können, aber nur von einigen Browsern unterstützt werden.

3.timeout:

erfordert einen Parameter vom Typ Zahl und legt das Anforderungszeitlimit (Millisekunden) fest. Diese Einstellung überschreibt die globale Einstellung der Methode $.ajaxSetup().

4.async:

erfordert Parameter vom Typ Boolean. Die Standardeinstellung ist true. Alle Anfragen sind asynchrone Anfragen. Wenn Sie synchrone Anfragen senden müssen, legen Sie diese Option auf „false“ fest. Beachten Sie, dass eine synchrone Anfrage den Browser sperrt und der Benutzer warten muss, bis die Anfrage abgeschlossen ist, bevor andere Vorgänge ausgeführt werden können.

5.cache:

erfordert Parameter vom Typ Boolean, der Standardwert ist true (wenn dataType ein Skript ist, ist der Standardwert false). Wenn Sie ihn auf false setzen, wird nicht aus dem Browser-Cache geladen Informationen anfordern.

6.data:

erfordert Parameter vom Typ Objekt oder String, Daten werden an den Server gesendet. Wenn es sich nicht um eine Zeichenfolge handelt, wird sie automatisch in das Zeichenfolgenformat konvertiert. Die Get-Anfrage wird an die URL angehängt. Um diese automatische Konvertierung zu verhindern, aktivieren Sie die Option „processData“. Das Objekt muss im Schlüssel/Wert-Format vorliegen, zum Beispiel wird {foo1:"bar1",foo2:"bar2"} in &foo1=bar1&foo2=bar2 konvertiert. Wenn es sich um ein Array handelt, weist JQuery verschiedenen Werten automatisch denselben Namen zu. Beispielsweise wird {foo:["bar1","bar2"]} in &foo=bar1&foo=bar2 konvertiert.

7.dataType:

erfordert Parameter vom Typ String und der vom Server zurückgegebene Datentyp wird erwartet. Wenn nicht angegeben, gibt JQuery automatisch ResponseXML oder ResponseText basierend auf den HTTP-Paket-Mime-Informationen zurück und übergibt sie als Callback--Funktionsparameter . Die verfügbaren Typen sind wie folgt:
xml: Gibt ein XML-Dokument zurück, das mit JQuery verarbeitet werden kann.
html: Gibt reine Text-HTML-Informationen zurück; das enthaltene Skript-Tag wird ausgeführt, wenn es in das DOM eingefügt wird.
Skript: Gibt JavaScript-Code im Klartext zurück. Ergebnisse werden nicht automatisch zwischengespeichert. Es sei denn, Cache-Parameter sind festgelegt. Beachten Sie, dass bei Remote-Anfragen (nicht unter derselben Domain) alle Post-Anfragen in Get-Anfragen umgewandelt werden.
json: Gibt JSON-Daten zurück.
jsonp: JSONP-Format. Beim Aufrufen einer Funktion mithilfe des SONP-Formulars, z. B. myurl?callback=?, ersetzt JQuery automatisch das letzte „?“ durch den richtigen Funktionsnamen, um die Callback-Funktion auszuführen.
text: Gibt eine einfache Textzeichenfolge zurück.

8.beforeSend:

erfordert Parameter vom Typ Funktion. Sie können die Funktion des XMLHttpRequest-Objekts ändern, bevor Sie die Anforderung senden, z. B. einen benutzerdefinierten HTTP-Header hinzufügen. Wenn in beforeSend false zurückgegeben wird, kann diese Ajax-Anfrage abgebrochen werden. Das XMLHttpRequest-Objekt ist der einzige Parameter.​ ​ ​  

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

9.complete:

erfordert einen Parameter vom Typ Funktion, eine Rückruffunktion, die aufgerufen wird, nachdem die Anfrage abgeschlossen ist (wird aufgerufen, wenn die Anfrage erfolgreich ist oder fehlschlägt). Parameter: XMLHttpRequest-Objekt und eine Zeichenfolge, die den erfolgreichen Anforderungstyp beschreibt.

 function(XMLHttpRequest, textStatus){
    this;    //调用本次ajax请求时传递的options参数
 }
10.Erfolg: Die für den Funktionstyp erforderlichen Parameter, die Rückruffunktion, die nach erfolgreicher Anforderung aufgerufen wird, bestehen aus zwei Parametern.

(1) Vom Server zurückgegebene und gemäß dem dataType-Parameter verarbeitete Daten.

(2) Eine Zeichenfolge, die den Status beschreibt.

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

Die erforderlichen Parameter des Funktionstyps, der Funktion, die aufgerufen wird, wenn die Anfrage fehlschlägt. Diese Funktion verfügt über drei Parameter, nämlich das XMLHttpRequest-Objekt, die

Fehlermeldung

und das erfasste Fehlerobjekt (optional). Die Ajax-Ereignisfunktion lautet wie folgt:

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

erfordert Parameter vom Typ String. Beim Senden von Informationen an den Server ist der Inhaltskodierungstyp standardmäßig „application/x“. -www- form-urlencoded". Dieser Standardwert ist für die meisten Anwendungen geeignet.

13.dataFilter:

erfordert Parameter vom Typ „Funktion“, einer Funktion, die die von Ajax zurückgegebenen Originaldaten vorverarbeitet. Geben Sie zwei Parameter an: Daten und Typ. Daten sind die von Ajax zurückgegebenen Originaldaten und Typ ist der dataType-Parameter, der beim Aufruf von jQuery.ajax bereitgestellt wird. Der von der Funktion zurückgegebene Wert wird von jQuery weiterverarbeitet.​ ​    

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

erfordert Parameter vom Typ „Funktion“, einer Funktion, die die von Ajax zurückgegebenen Originaldaten vorverarbeitet. Geben Sie zwei Parameter an: Daten und Typ. Daten sind die von Ajax zurückgegebenen Originaldaten und Typ ist der dataType-Parameter, der beim Aufruf von jQuery.ajax bereitgestellt wird. Der von der Funktion zurückgegebene Wert wird von jQuery weiterverarbeitet.                                                                                 

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

要求为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)。通常在本地和远程的内容编码不同时使用。

22.jsonpCallback

为jsonp请求指定一个回调函数名。jquery会自动生成随机函数名,用这个值可以修改此名。

23. mimetype

jQuery1.5.1添加。可以用来覆盖XHR中的mimetype。

24. statusCode

jQuery1.5添加。用来定义http的返回码对应的处理函数。下面的例子定义了返回404后的处理方法。

$.ajax({   
    statusCode: {   
      404: function() {   
           alert("page not found");   
           }   
      }   
});

25.success(data,textStatus,jqXHR)

请求成功后的回调函数。参数由服务器返回,并会根据datatype参数进行参数处理。

26.timeout

设置请求超时时间,毫秒为单位。此设置会覆盖全局设置,即所有ajax请求共享同一个超时时间。

27.traditional

设置为true,用传统的方式来序列化数据。

28.type

请求方式,get或post或put或delete。默认为get。put和delte不是得到所有的浏览器支持。

29.url

发送请求的地址。为空表示当前页。

30.username

用于响应http访问认证请求的用户名。同password配对。

31.xhr

默认在ie下是ActiveXObject而其他浏览器是XMLHttpRequest。用于重写或提供一个增强的XMLHttpRequest对象。

32.xhrFields

jQuery1.5.1添加。它可以添加到原生xhr对象上的key/value对。举个例子,你可以通过它来设置跨域的withCredentials为true。

$.ajax({   
    url: a_cross_domain_url,   
    xhrFields: {   
    withCredentials: true   
    }   
});

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung verschiedener Parameter von Ajax in JQuery. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn