Ajax
Ajax [ejtschäks] ist die Abkürzung für Asyncronous Javascript and XML
Es handelt sich hierbei um eine Technik zur asyncronen (bzw. auch syncronen) Datenübertragung zwischen einem Webserver und einem Browser. Dazu wird das in vielen Browsern vorhandene XMLHttpRequest-Objekt verwendet. So unterstützt Mozilla Firefox bereits seit Version 1.0 und der Internet Explorer seit 5.0 diese Technik. Auch alle anderen modernen Browser unterstützen diese Technik, sodass sie heutzutage problemlos eingesetzt werden kann.
Was passiert nun genau bei Ajax?

Abb 1: Ajax Ablauf
Normalerweise liefert ein Webserver eine fertige HTML-Seite aus, ob diese nun dort dynamisch generiert wurde oder statisch abgelegt war, spielt keine Rolle. Solange der Benutzer die Seite nicht wechselt, indem er z.B. einen Link anklickt, kann diese Seite nicht verändert werden. Man kann zwar mittels Javascript die Webseite verändern, allerdings stehen hierzu nur die Daten zur Verfügung, die bereits während der Auslieferung durch den Webserver generiert wurden.
Genau hier setzt Ajax an. Über das XMLHttpRequest-Objekt ist es möglich bei einer Benutzerinteraktion (z.B. einem Klick auf einen Link) nicht eine neue Seite anzufordern, sondern mittels Javascript eine Anfrage an den Webserver zu stellen. Dieser liefert nun keine komplette HTML-Seite aus, sondern nur die Information, die der Browser benötigt um die gewünschten Änderungen durchzuführen. Hierzu wird eine XML-Nachricht ausgeliefert, die vom Browser interpretiert wird.
Eine gute Implementierung dieser Technik bietet z.B. das xajax-Projekt, mit dem es möglich ist Javascript-Aufrufe direkt an einen entsprechenden PHP-Aufruf weiterzuleiten.
Beispiel
Sie haben eine Webseite mit einer Namens-Liste. Diese Liste hat sehr viele Einträge und ist deswegen aufgeteilt. Beim ersten Laden werden nur die Einträge 1-10 angezeigt.
Um jetzt die nächsten Einträgen 11-20 zu bekommen könnten Sie einfach die Seite nocheinmal mit einem anderen Paramter aufrufen. Es müsste dann aber die komplette Seite nocheinmal neugeladen werden.
Mit Ajax können Sie nun eine Anfrage an den Webserver schicken, dass Sie gerne die Einträge 11-20 haben möchten. Dieser schickt Ihnen nur diese Einträge zurück und Sie können diese per Javascript in der Liste anzeigen. Bei diesem Vorgehen entstehen fast keine Ladezeiten und der Rest der Webseite bleibt bestehen und Sie können sie sogar benutzen während die Ajax-Anfrage läuft.
Vorteile
- Die Ladezeiten einer Webseite werden drastisch reduziert und es sind komplexe browserbasierte Webandwendungen möglich
- Es wird kein Browser-Plugin, wie z.B. bei Flash, welches der Benutzer selbst installieren müsste benötigt.
Nachteile
- Es ist nicht unbedingt sichergestellt, dass die "Zurück"- und "Vorfunktionen" korrekt funktionieren, da die Ajax-Anfragen davon nicht erfasst werden.
Anwendungsgebiet
Ajax ist vor allem für komplexe Webanwendungen eine gute Wahl. Auch gezielt auf Webseiten eingesetzt kann Ajax eine grosse Bereicherung für den Benutzer darstellen.
Zurück