Jetzt bringe ich Ihnen einen Artikel, in dem die Unterschiede zwischen async:false und async:true in Ajax-Anfragen detailliert beschrieben werden. Lassen Sie mich es jetzt mit Ihnen teilen und es allen als Referenz geben.
Das Beispiel sieht wie folgt aus:
function test(){ var temp="00"; $.ajax({ async: false, type : "GET", url : 'userL_checkPhone.do', complete: function(msg){ alert('complete'); }, success : function(data) { alert('success'); temp=data; temp="aa"; } }); alert(temp); }
checkPhone()-Methode in UserLAction
public void checkPhone() throws IOException { this.getServletResponse().setContentType("text/html; charset=UTF-8"); this.getServletResponse().setHeader("Cache-Control", "no-cache"); PrintWriter out = this.getServletResponse().getWriter(); out.print("true"); }
async: false, (Standard ist true);
Wenn async: false synchron ist, sperrt die Ajax-Anfrage in dieser test()-Methode
nur den gesamten Browser userL_checkPhone Erst nach Abschluss der Ausführung von .do können andere Vorgänge ausgeführt werden.
Das Ausführungsergebnis lautet also: first warning('success'); Es gibt jedoch ein Problem: Die Ajax-Anfrage in test() und die nachfolgenden Vorgänge werden asynchron ausgeführt. Wenn also userL_checkPhone.do nicht ausgeführt wurde, wurden möglicherweise die auf die Ajax-Anfrage folgenden Vorgänge ausgeführt.
Also die Ergebnis ist Alert('Success'); Alert('Complete'); Alert("00");
Auf diese Weise werden Sie feststellen, dass Alert("Success") und Alert(Temp) ausgeführt werden fast gleichzeitig, also ist temp der initialisierte Wert temp = „00“, nicht temp = „aa“;
Das Obige ist das, was ich für alle zusammengestellt habe. Ich hoffe, dass es in Zukunft für alle hilfreich sein wird.
Verwandte Artikel:
Ajax- und MySQL-Dateninteraktion zum Erstellen einer Message-Board-FunktionAjax-Synchronisierung und asynchrone Probleme und LösungenAjax-Antwort auf JSON-String- und JSON-Array-Beispiele (grafisches Tutorial)Das obige ist der detaillierte Inhalt vonErläutern Sie die Unterschiede zwischen async:false und async:true in Ajax-Anfragen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!