Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Erläuterung der asynchronen Ajax-Synchronisierung und Asynchronität in jQuery_jquery

Detaillierte Erläuterung der asynchronen Ajax-Synchronisierung und Asynchronität in jQuery_jquery

WBOY
WBOYOriginal
2016-05-16 15:37:351401Durchsuche

Im Projekt gibt es eine solche Anforderung: Verwenden Sie Ajax, um Daten zu laden, die Seite zurückzugeben, einen Wert zuzuweisen und den Wert dann am Frontend herauszunehmen

Dies betrifft die Reihenfolge des Codes. Manchmal wurden die Daten nicht zurückgegeben, aber der nachfolgende Code wurde ausgeführt

Der Wert kann also nicht ermittelt werden

$.ajax({ type: "post",  url: "admin/PfmOptionRuleItem.do", success: function(data){  $("#ruleItem").val(data.ruleItem); //① } }); return $("#ruleItem").val(); //②
Wenn ① keine Daten aus dem Hintergrund zurückgegeben hat, kann der Wert nicht abgerufen werden, wenn ② zu diesem Zeitpunkt ausgeführt wird

Der erste Buchstabe von Ajax ist der erste Buchstabe von asynchron, was bedeutet, dass alle Vorgänge parallel sind und die Reihenfolge des Abschlusses keinen Zusammenhang hat.

Der async-Parameter von $.ajax() ist immer auf true gesetzt, was bedeutet, dass nach dem Start der Anfrage noch anderer Code ausgeführt werden kann.

Wenn diese Option auf „false“ gesetzt ist, bedeutet dies, dass alle Anfragen nicht mehr asynchron sind, was auch dazu führt, dass der Browser blockiert.

Obwohl der Beamte dies nicht empfiehlt, können Sie es einfach nicht zu oft verwenden, da es sonst zu einer schlechten Benutzererfahrung führt

Gib mir eine Kastanie

alert("setp 1"); $.ajax({  url: "admin/PfmOptionRuleItem.do",  async: false,  success: function(data){   alert("hello ajax"); //①  } }); alert("setp 2"); //②

Wenn asyn auf false gesetzt ist, wird die Ajax-Anfrage synchronisiert, das heißt, nachdem der Ajax-Block die Anfrage zu diesem Zeitpunkt gesendet hat,

Er wird bei ① warten und ② nicht ausführen, bis ① abgeschlossen ist

Zu diesem Zeitpunkt ist die Reihenfolge der Ausführung

Satz 1

Hallo Ajax

Satz 2

Wenn „async“ wahr ist, lautet die Ausführungsreihenfolge

Satz 1

Satz 2

Hallo Ajax

Ich habe die in diesem Artikel beschriebene asynchrone Ajax-Synchronisation und Asynchronität in jQuery vorgestellt und hoffe, dass sie für alle hilfreich ist.

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