Verwendung von asynchronem oder synchronem AJAX

AJAX, das für asynchrones JavaScript und XML steht, ist eine Technik, mit der Webseiten asynchron aktualisiert werden können. Dies bedeutet, dass der Browser nicht die gesamte Seite neu laden muss, wenn sich nur eine kleine Datenmenge auf der Seite geändert hat. AJAX leitet nur die aktualisierten Informationen zum und vom Server weiter.

Standard-Webanwendungen verarbeiten Interaktionen zwischen Webbesuchern und dem Server synchron. Das bedeutet, dass eins nach dem anderen passiert; Der Server führt kein Multitasking durch. Wenn Sie auf eine Schaltfläche klicken, wird die Nachricht an den Server gesendet und die Antwort zurückgegeben. Sie können nicht mit anderen Seitenelementen interagieren, bis die Antwort eingeht und die Seite aktualisiert wird. 

Offensichtlich kann diese Art der Verzögerung die Erfahrung eines Webbesuchers negativ beeinflussen - daher AJAX.

Was ist Ajax??

AJAX ist keine Programmiersprache, sondern eine Technik, die ein clientseitiges Skript (d. H. Ein Skript, das im Browser eines Benutzers ausgeführt wird) enthält, das mit einem Webserver kommuniziert. Außerdem ist sein Name etwas irreführend: Während eine AJAX-Anwendung möglicherweise XML zum Senden von Daten verwendet, kann sie auch nur einfachen Text oder JSON-Text verwenden. Im Allgemeinen wird jedoch ein XMLHttpRequest-Objekt in Ihrem Browser verwendet, um Daten vom Server anzufordern, und JavaScript, um die Daten anzuzeigen.

AJAX: Synchron oder Asynchron

AJAX kann sowohl synchron als auch asynchron auf den Server zugreifen:

  • Synchron, In diesem Fall stoppt das Skript und wartet darauf, dass der Server eine Antwort zurücksendet, bevor er fortfährt.
  • Asynchron, In diesem Skript kann die Seite weiter verarbeitet werden, und die Antwort wird verarbeitet, wenn sie eintrifft.

Bearbeitung Ihrer Anfrage synchron ähnelt dem erneuten Laden der Seite, es werden jedoch nur die angeforderten Informationen anstelle der gesamten Seite heruntergeladen. Daher ist es schneller, AJAX synchron zu verwenden, als es überhaupt nicht zu verwenden. Ihr Besucher muss jedoch warten, bis der Download erfolgt, bevor weitere Interaktionen mit der Seite stattfinden können. Die Leute wissen, dass sie manchmal warten müssen, bis eine Seite geladen ist, aber die meisten Leute sind es nicht gewohnt, erhebliche Verzögerungen nach dem Aufrufen einer Site fortzusetzen. 

Bearbeitung Ihrer Anfrage asynchron Vermeiden Sie Verzögerungen beim Abrufen vom Server, da Ihr Besucher weiterhin mit der Webseite interagieren kann. Die angeforderten Informationen werden im Hintergrund verarbeitet und die Antwort aktualisiert die Seite, sobald sie eintrifft. Selbst wenn sich eine Antwort verzögert, z. B. bei sehr großen Datenmengen, kann es sein, dass Besucher der Website dies nicht bemerken, weil sie an anderer Stelle auf der Seite beschäftigt sind.

Die bevorzugte Methode zur Verwendung von AJAX ist daher die Verwendung von asynchronen Aufrufen, wo immer dies möglich ist. Dies ist die Standardeinstellung in AJAX. 

Gründe für die Verwendung von synchronem AJAX?

Wenn asynchrone Anrufe eine so verbesserte Benutzererfahrung bieten, warum bietet AJAX dann überhaupt eine Möglichkeit, synchrone Anrufe zu tätigen?

Während asynchrone Anrufe die meiste Zeit die beste Wahl sind, gibt es selten Situationen, in denen es nicht sinnvoll ist, dem Besucher die weitere Interaktion mit der Webseite zu erlauben, bis ein bestimmter serverseitiger Prozess abgeschlossen ist.

In vielen Fällen ist es möglicherweise besser, AJAX überhaupt nicht zu verwenden und stattdessen nur die gesamte Seite neu zu laden. Die synchrone Option in AJAX ist für die wenigen Situationen verfügbar, in denen Sie keinen asynchronen Aufruf verwenden können, aber das Neuladen der gesamten Seite nicht erforderlich ist. Beispielsweise müssen Sie möglicherweise einige Transaktionsvorgänge ausführen, bei denen die Reihenfolge wichtig ist. Stellen Sie sich einen Fall vor, in dem eine Webseite eine Bestätigungsseite zurückgeben muss, nachdem der Benutzer auf etwas geklickt hat. Für diese Aufgabe müssen die Anforderungen synchronisiert werden.