Gdy przeglądamy niektóre strony internetowe, szukamy w nich zawartych danych. A cała strona zwykle nie wystarcza, aby pomieścić wszystko, co chcemy wiedzieć, dlatego istnieje potrzeba połączenia bieżącej strony z następną. Ale czasami nie potrzebujemy ani nawet nie chcemy zmieniać całej strony, tylko jej część. Na przykład mamy stronę shoutbox, nie chcielibyśmy, aby cała strona była ładowana ponownie, gdy pojawi się nowy wpis na ekranie.
Pierwszą funkcją tego typu była Java, udostępniająca mało skompilowane aplety, które mogą ładować dane asynchronicznie. Później AJAX zapewnił standard dozwolonym programistom do asynchronicznego żądania danych w celu zmiany ładowania nowych danych bez zmiany strony internetowej.
Z drugiej strony Javascript jest językiem skryptowym po stronie klienta, który umożliwia tworzenie dynamicznych stron internetowych zapewniających nowy poziom interaktywności. Zaletą JavaScript jest to, że ponieważ jest to aplikacja kliencka, może tworzyć dynamiczne strony internetowe, które są bardziej złożone niż to, co potrafi skrypt po stronie serwera. Skrypty po stronie serwera są uruchamiane przez maszynę hosta, a zatem ma bardzo ograniczone zasoby, szczególnie gdy wiele osób uzyskuje dostęp do tego serwera. Będąc na komputerze klienckim, Javascript ma wiele zasobów do grania, niezależnie od aktywności na serwerze.
Główną wadą Javascript jest to, że jest on bardzo dobrym kandydatem do zainstalowania trojana na twoim komputerze. Ponieważ działa na kliencie, ma autoryzację niektórych zasobów, które mogłyby potencjalnie przekazać kontrolę nad komputerem osobie z zewnątrz, potencjalnie włączając cię do botnetu. Rozwiązaniem tej wady jest niedopuszczenie do uruchamiania niezaufanych kodów javascript na komputerze.
AJAX i Javascript są powiązane ze względu na fakt, że AJAX jest metodologią używaną przez Javascript do uzyskiwania większości danych z serwera. Gdy JavaScript tworzy dynamiczne strony internetowe, nie żąda od serwera wszystkiego, czego może potrzebować, ponieważ spowodowałoby to bardzo długi czas ładowania. Zamiast tego ładuje tylko to, czego potrzebuje, aby załadować pierwszą stronę. Ilekroć użytkownik robi coś, co wymagałoby więcej danych, JavaScript użyłby AJAX do żądania potrzebnych danych, aby uniknąć ponownego załadowania strony.
Jak widzimy, AJAX jest kolejnym narzędziem, które może być używane przez języki skryptowe, takie jak Javascript, w celu poprawy wyglądu i działania ich stron internetowych.
Sprawdź książki związane z AJAX i Javascript.