Heim  >  Artikel  >  Web-Frontend  >  Was ist der Unterschied zwischen async:false und async:true in Ajax-Anfragen?

Was ist der Unterschied zwischen async:false und async:true in Ajax-Anfragen?

php中世界最好的语言
php中世界最好的语言Original
2018-04-02 15:20:361696Durchsuche

Dieses Mal werde ich Ihnen den Unterschied zwischen async:false und async:true in Ajax-Anfragen erläutern. Was sind die Vorsichtsmaßnahmen für die Verwendung von async:false und async:true in Ajax-Anfragen? Praktischer Fall, werfen wir einen Blick darauf.

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 den gesamten Browser,

Erst nachdem die Ausführung von userL_checkPhone.do abgeschlossen ist, 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 ist temp also der initialisierte Wert temp = „00“, nicht temp = „aa“;

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen erhalten Sie Beachten Sie auch andere verwandte Artikel auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Ajax+MySQL zum Erstellen einer Message-Board-Funktion


Ajax-Schritte zur Implementierung der Daten-Paging-Abfrage im Detail Erklärung

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied 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