Dieses Mal werde ich Ihnen zeigen, wie man $.ajax() (mit Code) verwendet und welche Vorsichtsmaßnahmen bei der Verwendung von $.ajax() gelten. Hier ist ein praktischer Fall, nehmen wir einen sehen.
AJAX ist eine Technologie zum Datenaustausch mit dem Server, die einen Teil einer Webseite aktualisieren und gleichzeitig die gesamte Seite ergänzen kann. Als Nächstes stellt Ihnen dieser Artikel einige gängige Ajax-Methoden vor. Sie können sie bei Bedarf gemeinsam lernen.
1.url:
erfordert einen String-Typ-Parameter (Standard ist die aktuelle Seitenadresse), an den die Anfrage gesendet wird.
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 Put und Delete verwendet werden können, aber nur von einigen Browsern unterstützt werden.
3.timeout:
erfordert einen Parameter vom Typ Number 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 Skript ist, ist der Standardwert false), Bei der Einstellung „false“ werden die Anfrageinformationen nicht aus dem Browser-Cache geladen.
6.data:
erfordert Parameter vom Typ Object 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, können Sie die Option „processData“ anzeigen. 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, dem Datentyp, der voraussichtlich vom Server zurückgegeben wird. Wenn nicht angegeben, gibt JQuery automatisch AntwortXML oder AntwortText basierend auf den MIME-Informationen des http-Pakets zurück und übergibt sie als Parameter der -Rückruffunktion . 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 Nur-Text-JavaScript-Code 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. Wenn Sie eine Funktion mit dem SONP-Formular aufrufen, z. B. myurl?callback=?, ersetzt JQuery automatisch das letzte „?“ durch den richtigen Funktionsnamen, um die Rückruffunktion auszuführen.
text: Gibt eine einfache Textzeichenfolge zurück.
8.beforeSend:
erfordert Parameter des Funktionstyps Sie können die Funktion des XMLHttpRequest-Objekts ändern, bevor Sie die Anfrage senden, z Hinzufügen eines benutzerdefinierten HTTP-Heads. 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 Parameter vom Typ Funktion, eine Rückruffunktion, die nach Abschluss der Anfrage aufgerufen wird (Anfrage erfolgreich oder (Fehler) wird jedes Mal aufgerufen). Parameter: XMLHttpRequest-Objekt und eine Zeichenfolge, die den erfolgreichen Anforderungstyp beschreibt.
function(XMLHttpRequest, textStatus){ this; //调用本次ajax请求时传递的options参数 }
10.success:
erfordert Parameter vom Typ Funktion. Die nach erfolgreicher Anfrage aufgerufene Rückruffunktion verfügt über zwei Parameter. .
(1) Vom Server zurückgegebene und gemäß dem dataType-Parameter verarbeitete Daten.
(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)。通常在本地和远程的内容编码不同时使用。
案例代码:
$(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 += '<p class="comment"><h6>' + comment['username'] + ':</h6><p class="para"' + comment['content'] + '</p></p>'; }); $('#resText').html(html); } }); }); });
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
Das obige ist der detaillierte Inhalt vonSo verwenden Sie $.ajax() (mit Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!