Heim  >  Artikel  >  Web-Frontend  >  Erläutern Sie die Unterschiede zwischen async:false und async:true in Ajax-Anfragen

Erläutern Sie die Unterschiede zwischen async:false und async:true in Ajax-Anfragen

亚连
亚连Original
2018-05-22 17:23:251744Durchsuche

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-Funktion

Ajax-Synchronisierung und asynchrone Probleme und Lösungen

Ajax-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!

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