Eine kurze Einführung in Ajax

Saturday, 15. April, 2006

Heute ist im Internet vor allem ein Modell der User Interaktion verbreitet, welches den Ansatz “klicken, warten und refreshen” verfolgt. Wenn der User beispielsweise ein Online Formular vor sich hat, dann füllt er es mit Informationen aus, schickt die Informationen ab und wartet, dass ein Server-seitiges Script die Informationen verarbeitet und das Ergebnis wieder an den Browser zurücksendet.

Ajax, kurz für Asynchcronous JavaScript and XML, ist ein neues Web Development Modell, das darauf abzielt, Web Anwendungen zu produzieren, die schneller sind als traditionelle Web Anwendungen. Ajax führt einen asynchronen Datenaustausch und partielle Seiten Updates aus, um dieses Ziel zu erreichen.

Verwendete Technologien für die Ajax Implementierung

Das Ajax Web Application Modell verbindet Technologien, die den meisten Web Developern vertraut sind. Das sind:

  • HTML/DHTML & CSS
  • JavaScript
  • Document Object Model (DOM)

Wie funktioniert Ajax?

Das Herzstück einer jeden Ajax Implementierung ist das JavaScript XmlHttpRequest Objekt.

Einmal kreiert, läuft das XmlHttpRequest Objekt am Client-Browser und agiert als ein Zwischenhändler zwischen dem User-Interface und dem Server. Anstatt jedes User-Event zum Server zum Verarbeiten zu schicken, werden nun die User-Events beim Client-seitigem Objekt ausgeführt. Das XmlHttpRequest Objekt wird für den asynchronen Datenaustausch mit dem Server verwendet, was dem User erlaubt, weiter mit der Anwendung zu interagieren, während das Objekt im Hintergrund läuft.

Die Verwendung der XmlHttpRequest Objekt Client-Seite erlaubt außerdem ein Updaten einzelner Seitenelemente anstatt die gesamte Seite refreshen zu müssen. Das funktioniert, indem JavaScript Funktionen aufgerufen werden, um spezifische Elemente des DOM als Antwort auf die abgefragten Daten durch das XmlHttpRequest Objekt zu manipulieren.

Da der Ajax Ansatz den Bedarf für einen vollständigen Seiten Refresh nach jedem User-Event unnötig macht, wird die Anwendungsgeschwindigkeit sehr verbessert und die Server Load minimiert.