Wstęp do AJAX
styczeń 15, 2007 – 9:39 po południuDefinicja AJAX-a
AJAX - czyli - ang. Asynchronous JavaScript and XML.
AJAX nie jest technologią. Jest to zbiór technologii, które tworzą ze sobą użyteczną całość.
W skład AJAX-a wchodzą:
- XHTML i CSS - prezentacja danych;
- Document Object Model - dynamiczne wyświetlanie danych i reakcja na działania użytkownika;
- XML i XSLT - wymiana danych;
- XMLHttpRequest - asynchroniczne przesyłanie danych;
- JavaScript - obsługa, scalenie tego wszystkiego, jest tak naprawdę odpowiedzialny za wszystko.
Klasyczny schemat działanie strony to: użytkownik klika na link, przesyłając pewne dane do serwera, następnie przetwarza on dane i zwraca jako odpowiedź całą stronę do przeglądarki.
Jest to prosty model, łatwy w budowie, lecz nie koniecznie dobry dla odwiedzających stronę, ponieważ strona za każdym razem musi się załadować w całości, nie wnikając już w cache-owanie przez przeglądarkę i trochę uogólniając. Jednak jest to znaczna ilość danych, które się powtarzają za każdym razem. Operacja przesyłu danych trwa kilkanaście sekund, użytkownik w tym czasie musi czekać i nie może nic robić. Jeżeli ten proces trwa zbyt długo, strona staje się coraz bardziej mniej interesująca dla odwiedzającego, zniechęca to do przeglądania dalszej treści witryny.
W aplikacjach wykorzystujących Ajax, wyeliminowano problem z powtarzającym się ładowaniem strony przez zastosowanie pośrednika pomiędzy użytkownikiem a serwerem, czyli AJAX-a, a dokładnie XMLHttpRequest.
Tylko za pierwszym razem strona jest w pełni ładowana, czyli wygląda to podobnie jak przy standardowym modelu, jedna różnica jest wewnątrz. Zostaje załadowany silnik AJAX-a do komunikacji z serwerem. Nad wszystkim czuwa JavaScript, w tym języku muszą być napisane funkcje do wysyłania i przetwarzania otrzymanych danych, ogólnie mówiąc do komunikacji. Zapytanie do serwera odbywa się asynchronicznie, co oznacza, że użytkownik może bez przerwy korzystać z innych rzeczy umieszczonych na stronie. Komunikacja odbywa się w “tle”, nie przeszkadzając odwiedzającemu na dalsze korzystanie ze strony. Nigdy nie będzie takiej sytuacji gdy użytkownik będzie widział tylko białą, pustą stronę, ponieważ za każdym razem można poinformować o tym że następuje ładowanie danych z serwera.
AJAX można wykorzystać np. do walidacji danych z formularza, edytowania “na żywo” tekstu, itp. Wtedy to użytkownik decyduje, co chce wykonać. Jeśli jednak będą potrzebne jakieś dodatkowe dane z serwera, AJAX sam może, bez ingerencji odwiedzającego, wykonać zapytanie do serwera, pozwala to np. losować i zmieniać, co kilka sekund, tekst dnia, czy pobrać jakiś dodatkowy fragment kodu JavaScript.

