AJAX: Dlaczego asynchroniczny jest prawie zawsze lepszy

AJAX, który oznacza asynchroniczny JavaScript i XML, to technika pozwalająca na asynchroniczną aktualizację stron internetowych, co oznacza, że ​​przeglądarka nie musi ponownie ładować całej strony, gdy zmieni się tylko niewielka ilość danych na stronie. AJAX przekazuje tylko zaktualizowane informacje do iz serwera.

Standardowe aplikacje internetowe synchronicznie przetwarzają interakcje między użytkownikami sieci a serwerem. Oznacza to, że jedna rzecz dzieje się po drugiej; serwer nie wykonuje wielu zadań. Po kliknięciu przycisku wiadomość zostanie wysłana na serwer, a odpowiedź zostanie zwrócona. Nie można wchodzić w interakcje z innymi elementami strony, dopóki nie zostanie odebrana odpowiedź i strona nie zostanie zaktualizowana.

Oczywiście tego rodzaju opóźnienie może negatywnie wpłynąć na doświadczenie użytkownika - stąd AJAX.

Co to jest AJAX?

AJAX nie jest językiem programowania, ale techniką obejmującą skrypt po stronie klienta (tj. Skrypt działający w przeglądarce użytkownika), który komunikuje się z serwerem WWW. Co więcej, jego nazwa jest nieco myląca: chociaż aplikacja AJAX może używać XML do wysyłania danych, może również używać zwykłego tekstu lub tekstu JSON. Ale ogólnie używa obiektu XMLHttpRequest w przeglądarce, aby żądać danych z serwera i JavaScript w celu wyświetlenia danych.

instagram viewer

AJAX: synchroniczny lub asynchroniczny

AJAX może uzyskać dostęp do serwera zarówno synchronicznie, jak i asynchronicznie:

  • Synchronicznie, w którym skrypt zatrzymuje się i czeka, aż serwer odeśle odpowiedź przed kontynuowaniem.
  • Asynchronicznie, w którym skrypt pozwala na dalsze przetwarzanie strony i obsługuje odpowiedź, jeśli i kiedy dotrze.

Przetwarzanie Twojego żądania synchronicznie jest podobny do przeładowywania strony, ale pobierane są tylko wymagane informacje zamiast całej strony. Dlatego też synchroniczne korzystanie z AJAX jest szybsze niż całkowite nieużywanie go - ale nadal wymaga od użytkownika oczekiwania na pobranie, zanim będzie można kontynuować interakcję ze stroną. Ludzie wiedzą, że czasami muszą czekać na załadowanie strony, ale większość ludzi nie jest przyzwyczajona do kontynuowania, znaczne opóźnienia po wejściu na stronę.

Przetwarzanie Twojego żądania asynchronicznie unika opóźnienia w pobieraniu z serwera, ponieważ odwiedzający może kontynuować interakcję ze stroną internetową; żądane informacje zostaną przetworzone w tle, a odpowiedź zaktualizuje stronę w momencie jej otrzymania. Ponadto, nawet jeśli odpowiedź jest opóźniona - na przykład w przypadku bardzo dużych danych - odwiedzający witrynę mogą nie zdawać sobie z tego sprawy, ponieważ są zajęci w innym miejscu strony.

Dlatego preferowanym sposobem korzystania z AJAX jest używanie wywołań asynchronicznych tam, gdzie to możliwe. Jest to ustawienie domyślne w AJAX.

Dlaczego warto korzystać z synchronicznego AJAX?

Jeśli połączenia asynchroniczne zapewniają lepszą obsługę, dlaczego AJAX oferuje w ogóle sposób wykonywania połączeń synchronicznych?

Chociaż połączenia asynchroniczne są najlepszym wyborem przez większość czasu, zdarzają się rzadkie sytuacje, w których tak się nie dzieje warto pozwolić odwiedzającemu kontynuować interakcję ze stroną internetową, aż do określonego procesu po stronie serwera uzupełnia.

W wielu z tych przypadków lepiej nie używać AJAX, a zamiast tego po prostu ponownie załadować całą stronę. Opcja synchroniczna w AJAX jest dostępna dla niewielkiej liczby sytuacji, w których nie można użyć wywołania asynchronicznego, ale przeładowanie całej strony jest niepotrzebne. Na przykład może być konieczne obsłużenie przetwarzania transakcji, w których zamówienie jest ważne. Rozważ przypadek, w którym strona internetowa musi zwrócić stronę potwierdzenia po kliknięciu przez użytkownika czegoś. To zadanie wymaga synchronizacji żądań.

instagram story viewer