Heim > Web-Frontend > js-Tutorial > Hauptteil

Detaillierte Erläuterung der Ajax-Synchronisation und Asynchronität in JQuery

亚连
Freigeben: 2018-05-25 09:55:33
Original
2124 Leute haben es durchsucht

Jquery-Ajax-Synchronisierung bedeutet, dass beim Laden des JS-Codes in den aktuellen Ajax der gesamte Code auf der Seite nicht mehr geladen wird und die Seite in einem angehaltenen Animationszustand angezeigt wird. Wenn der Ajax abgeschlossen ist, wird er fortgesetzt Um andere Codes auszuführen, wird der Suspendierungsstatus aufgehoben. Asynchron bedeutet, dass andere Codes ausgeführt werden können, während dieser Ajax-Code ausgeführt wird. In diesem Artikel finden Sie eine detaillierte Erklärung:

Wenn ich zuvor JQUERY-Code geschrieben habe, muss ich die Ausführungsreihenfolge des Codes berücksichtigen, wenn ich auf AJAX-Ladedaten stoße. Aktuelle Projekte haben die AJAX-Synchronisierung verwendet. Diese Synchronisierung bedeutet, dass beim Laden des JS-Codes in das aktuelle AJAX der gesamte Code auf der Seite nicht mehr geladen wird und die Seite den angehaltenen Animationsstatus verlässt. Wenn das AJAX abgeschlossen ist, wird es weiterhin ausgeführt Codes und der angehaltene Animationsstatus der Seite werden freigegeben.

Asynchron können andere Codes ausgeführt werden, während dieser AJAX-Code ausgeführt wird.

async:false von jquery, dieses Attribut

ist standardmäßig true: asynchron, false: synchron.

$.ajax({ 
    type: "post", 
    url: "path", 
    cache:false, 
    async:false, 
    dataType: ($.browser.msie) ? "text" : "xml", 
     success: function(xmlobj){ 
    } 
});
Nach dem Login kopieren

Das Vorhandensein dieses Attributs kann das Problem der Codeausführung der Buchreihenfolge relativ reduzieren, aber wenn es zu oft verwendet wird, friert die Seite zu oft ein. Dies führt zu einer schlechten Benutzererfahrung~!

Offizielle Erklärung von Async und Erfolg in $.Ajax():

async 
Boolean 
Default: true
By default, all requests are sent asynchronous (e.g. this is set to true by default). If you need synchronous requests, set this option to false. Note that synchronous requests may temporarily lock the browser, disabling any actions while the request is active.
success 
Function
A function to be called if the request succeeds. The function gets passed two arguments: The data returned from the server, formatted according to the 'dataType' parameter, and a string describing the status. This is an Ajax Event.
Nach dem Login kopieren

Hier ist der Standardeinstellungswert von Async true, This Die Situation ist asynchron, was bedeutet, dass die Rezeption das Skript hinter dem Ajax-Block weiterhin ausführt, nachdem Ajax eine Anfrage gesendet hat und auf die Rückkehr des Servers wartet, bis der Server das richtige Ergebnis zurückgibt Es wird gesagt, dass zu diesem Zeitpunkt zwei Threads ausgeführt werden, ein Thread nach dem Ajax-Block, der die Anfrage sendet, und das Skript (ein anderer Thread) nach dem Ajax-Block. Beispiel:

$.ajax({ 
     type:"POST", 
     url:"Venue.aspx?act=init", 
      dataType:"html", 
     success:function(result){  //function1()
       f1(); 
       f2(); 
    } 
     failure:function (result) { 
      alert('Failed'); 
     }, 
 }
Nach dem Login kopieren

function2();

Wenn der Ajax-Block im obigen Beispiel eine Anfrage stellt, bleibt er in function1() und wartet auf die Rückkehr von der Serverseite , aber gleichzeitig (während dieses Wartevorgangs) wird die Vordergrundfunktion2() ausgeführt, das heißt, zu diesem Zeitpunkt erscheinen zwei Threads, nennen wir sie hier function1() und function2().

Wenn asyn auf false gesetzt ist, ist die Ajax-Anfrage synchron. Das heißt, nachdem der Ajax-Block zu diesem Zeitpunkt eine Anfrage gesendet hat, wartet er bei Funktion1() und führt Funktion2() erst aus Der Teil function1() wird ausgeführt.

Ich habe das Obige für Sie zusammengestellt und hoffe, dass es Ihnen in Zukunft hilfreich sein wird.

Verwandte Artikel:

Jquery-spezifische Beispiele stellen vor, wann AJAX verwendet werden sollte und wo AJAX verwendet werden sollte

jquery und PHP kombiniert mit AJAX Long Polling

Vorläufiges Verständnis von JavaScript, Ajax, jQuery und Vergleich der Beziehung zwischen den drei

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Ajax-Synchronisation und Asynchronität in JQuery. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage