A | A | A

AJAX

Definicja

AJAX (z ang. Asynchronous JavaScript and XML, Asynchroniczny JavaScript i XML) – technika tworzenia aplikacji internetowych, w której interakcja użytkownika z serwerem odbywa się bez przeładowywania całego dokumentu. W skład AJAX wchodzą:

  • obiekt komunikacyjny XMLHttpRequest
  • XHTML - język opisu strony zawierający informacje o użytych znacznikach i stylach
  • Obiektowy model dokumentu (DOM) - umożliwiający przetwarzanie stron XML

Pobrany już kod w języku XHTML jest modyfikowany (via DOM) za pomocą treści pobieranych z serwera przez obiekt XMLHttpRequest . Aplikacje oparte o powyższy schemat dokonują aktualizacji w interfejsie użytkownika szybciej niż w tradycyjnym modelu żądanie - nowa strona HTML. Sam termin AJAX jest z wielu powodów mylący:

  • Dane przekazywane przez interfejs nie muszą być przekazywane w formacie XML - alternatywy to czysty tekst lub format JSON
  • Język obsługujący żądanie nie jest ograniczony do JavaScript - alternatywy to JScript czy VBScript
Porównanie standardowego zapytania (przeładowanie strony) z zapytaniem AJAX (aktualizacja tylko wybranego fragmentu strony)
Porównanie standardowego zapytania (przeładowanie strony) z zapytaniem AJAX (aktualizacja tylko wybranego fragmentu strony)

Wady i ograniczenia AJAX

Do głównych wad technologii AJAX zalicza się:

  • Udostępnianie treści strony poprzez język skryptowy ogranicza jednak dostęp do niej dla części użytkowników, którzy używają przeglądarek niewyposażonych w odpowiednie funkcje, lub korzystają z czytników ekranów umożliwiających pracę z komputerem osobom niewidomym.
  • Utrudnione jest automatyczne pobieranie stron.
  • Indeksowanie treści wyświetlanej na stronie za pomocą AJAX przez wyszukiwarki jest praktycznie uniemożliwione.
  • Większość analiz ruchu na stronie oparta jest o model udostępniania całych stron. Powyższa technika poważnie utrudnia właściwy pomiar oglądalności stron.
  • Wadą rozwiązań w znaczącym stopniu opartych na AJAX jest fakt, że przestaje funkcjonować tradycyjny schemat przeglądania stron umożliwiający swobodne poruszanie się w przód i w tył. Przycisk Wstecz w przeglądarkach internetowych nie musi już odwracać zmian wprowadzonych na stronie, gdyż te wprowadzone zostały interaktywnie a nie poprzez całkowite przeładowanie strony (co jest podstawą funkcjonowania przycisku Wstecz). Nowsze aplikacje jednak umożliwiają korzystanie z funkcji "Wstecz" poprzez wykorzystywanie elementów języka JavaScript.
  • Brak możliwości linkowania zewnętrznego do stron opartych o AJAX a także niemożność dodania tego typu strony 'do ulubionych'.

Zalety AJAX

Możliwości oferowane przez technologię AJAX:

  • W przypadku bardzo rozbudowanych stron przeładowanie całego dokumentu aby uaktualnić jego mały fragment jest nieefektywne – AJAX w takich sytuacjach sprawdza się świetnie gdyż pozwala na odświeżenie tylko wymaganego fragmentu strony i może znacznie obniżyć przeciążenia sieci.
  • Użytkownik ma wrażenie, że zmiany wykonywane są natychmiastowo co buduje lepsze wrażenia z wizyty na stronie.
  • Wykorzystanie AJAX zmniejsza liczbę zapytań do serwera gdyż elementy takie jak skrypty czy arkusze styli ładowane są przez przeglądarkę tylko jednokrotnie.

Skocz do góry strony ↑