Standardmäßig ist die $ .ajax-Anforderung in jQuery auf asynchron gesetzt. Der Variablenname ist asynchron und der Wert ist auf true gesetzt. Dies gab mir auch ein wenig Verwirrung, als ich das erste Mal davon erfuhr, also lasst uns darüber nachdenken.
Asynchron vs. Synchron
Die Standardeinstellung in jQuery. Nach meiner Erfahrung sollte Asynchronous fast immer den Trick machen. Insbesondere gibt es auch 2 Situationen, in denen nicht einmal ein synchroner Anruf möglich ist.
- Domainübergreifende Anfragen. Wenn ich eine Ajax-Anfrage von techjunkie.com an eine Datei auf whereever.com (eine völlig andere Domain) stelle, handelt es sich um eine domänenübergreifende Anfrage.
- jsonp - Wenn Sie JSON-Daten domänenübergreifend abrufen möchten, ist JSONP genau das, wonach Sie suchen.
Wann wird Synchronous verwendet?
Sie sollten sich zunächst bewusst sein, dass die Einstellung von Async auf false Ihren Browser einfriert. Es schließt es vollständig ab. Nicht nur Ihre Seite, sondern jede Seite, die der Benutzer möglicherweise geöffnet hat. Wenn Ihr Server beispielsweise während der Anforderung langsamer wird, haben Sie den Browser effektiv deaktiviert, bis Ihr Server die Möglichkeit hat, die erforderlichen Daten einzuholen und weiterzugeben.
Anstatt es mit einem synchronen Anruf zu riskieren, geben Sie einfach eine Rückruffunktion bei Erfolg oder Fehler an. Sie gelangen zum gleichen Endpunkt, ohne die Browser-Erfahrung des Benutzers zu beeinträchtigen. Kurz gesagt, verwenden Sie keinen synchronen Anruf. Es ist schlecht für Ihre Anwendung und UX.