Jeśli jesteś zupełnie nowy w AJAX (co oznacza asynchroniczny Javascript i XML), wpis AJAX na Wikipedii jest dobrym punktem wyjścia:
Podobnie jak DHTML i LAMP, AJAX nie jest technologią samą w sobie, ale grupą technologii. AJAX wykorzystuje kombinację:
- HTML i CSS do oznaczania i stylizacji informacji.
- DOM dostępny za pomocą JavaScript w celu dynamicznego wyświetlania i interakcji z przedstawionymi informacjami.
- Metoda asynchronicznej wymiany danych między przeglądarką a serwerem, co pozwala uniknąć ponownego ładowania strony. Zwykle używany jest obiekt XMLHttpRequest (XHR), ale czasami zamiast niego używany jest obiekt IFrame lub dynamicznie dodawany tag.
- Format danych przesyłanych do przeglądarki. Typowe formaty to XML, wstępnie sformatowany HTML, zwykły tekst i JavaScript Object Notation (JSON). Te dane mogą być tworzone dynamicznie za pomocą jakiejś formy skryptów po stronie serwera.
Jak widać, z czysto technologicznego punktu widzenia nie ma tu nic nowego. Większość części AJAX istniała już w 1994 roku (1999 dla XMLHttpRequest
obiektu). Prawdziwą nowością było użycie tych części razem, tak jak Google zrobił to z GMail (2004) i Google Maps (2005). W rzeczywistości obie witryny miały duży udział w promocji AJAX.
Obraz wart tysiąca słów, poniżej diagram ilustrujący komunikację między klientem a zdalnym serwerem, a także różnice między aplikacjami klasycznymi a aplikacjami opartymi na AJAX:
Jeśli chodzi o pomarańczową część, możesz zrobić wszystko ręcznie (z XMLHttpRequest
obiektem) lub możesz użyć znanych bibliotek JavaScript, takich jak jQuery , Prototype , YUI , itp., Aby „AJAXify” po stronie klienta aplikacji. Takie biblioteki mają na celu ukrycie złożoności programowania JavaScript (np. Zgodność z różnymi przeglądarkami), ale mogą być przesadą w przypadku prostej funkcji.
Po stronie serwera niektóre frameworki też mogą pomóc (np. DWR lub RAJAX, jeśli używasz Java), ale wszystko, co musisz zrobić, to w zasadzie udostępnić usługę, która zwraca tylko wymagane informacje do częściowej aktualizacji strony (początkowo jako XML / XHTML - X w AJAX - ale JSON jest obecnie często preferowany).