AJAX: Warum Asynchron fast immer besser ist

AJAX, was für asynchron steht JavaScript und XML 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 ein kleines Datenelement auf der Seite geändert hat. AJAX übergibt nur die aktualisierten Informationen an und vom Server.

Standard-Webanwendungen verarbeiten Interaktionen zwischen Webbesuchern und dem Server synchron. Dies bedeutet, dass eine Sache nach der anderen passiert; Der Server führt keine Multitasking-Aufgaben aus. 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 empfangen und die Seite aktualisiert wurde.

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 der 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.

instagram viewer

AJAX: Synchron oder asynchron

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

  • Synchron, in dem das Skript stoppt und darauf wartet, dass der Server eine Antwort zurücksendet, bevor er fortfährt.
  • Asynchron, in dem das Skript die weitere Verarbeitung der Seite ermöglicht und die Antwort 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 die synchrone Verwendung von AJAX schneller als die gar keine Verwendung. Ihr Besucher muss jedoch warten, bis der Download erfolgt, bevor eine weitere Interaktion mit der Seite fortgesetzt werden kann. Die Leute wissen, dass sie manchmal warten müssen, bis eine Seite geladen ist, aber die meisten Leute sind es nicht gewohnt, fortgesetzte, erhebliche Verzögerungen zu verursachen, nachdem sie sich auf einer Site befinden.

Bearbeitung Ihrer Anfrage asynchron Vermeidet die Verzögerung, während der Abruf vom Server stattfindet, 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 - beispielsweise bei sehr großen Datenmengen - können Website-Besucher dies möglicherweise nicht bemerken, da sie an anderer Stelle auf der Seite beschäftigt sind.

Daher ist die bevorzugte Methode zur Verwendung von AJAX die Verwendung asynchroner Aufrufe, wo immer dies möglich ist. Dies ist die Standardeinstellung in AJAX.

Warum synchrones AJAX verwenden?

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

Während asynchrone Anrufe die meiste Zeit die beste Wahl sind, gibt es seltene Situationen, in denen dies nicht der Fall ist Es ist sinnvoll, Ihrem Besucher zu ermöglichen, bis zu einem bestimmten serverseitigen Prozess mit der Webseite zu interagieren abgeschlossen.

In vielen dieser Fälle 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 geringe Anzahl von Situationen verfügbar, in denen Sie keinen asynchronen Aufruf verwenden können, das erneute Laden der gesamten Seite jedoch nicht erforderlich ist. Beispielsweise müssen Sie möglicherweise eine Transaktionsverarbeitung durchführen, bei der 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. Diese Aufgabe erfordert die Synchronisierung der Anforderungen.