Einführung: Das ist AJAX

AJAX, also “Asynchronous Javascript And XML”, ist keine fest definierter Standard, sondern ein Kürzel, das für verschiedene Herangehensweisen verwendet wird. Ziel ist dabei immer, in einer Web-Anwendung eine bestimmte Benutzeraktion ohne erneuten Seitenaufbau zu ermöglichen.

Zentrales technisches Element ist dabei das Browser-Objekt XMLHttpRequest, das die Kommunikation mit dem Server herstellt.

Betrachten wir als Beispiel einmal ein Eingabefeld, etwa für eine Suche nach Artikeln, das während dem Eintippen schon Vorschläge aus der Datenbank liefern soll. (Sie finden das Beispiel konkret umgesetzt hier:)

Sobald der Benutzer einen neuen Buchstaben eintippt, wird über ein passendes Javascript-Event eine neue Datenbank-Abfrage gestartet, das Ergebnis ausgewertet und die Treffer angezeigt. Dabei bleibt die aktuelle Seite aber “stehen” – lediglich der Anzeigebereich für die Treffer wird über Javascript-Manipulationen via DOM upgedatet.

Wichtig ist bei AJAX die Methode, wie Daten zwischen Browser und Server verpackt werden. Bei üblicherweise wird dazu XML herangezogen, was ja schon im Namen AJAX steckt.

Eine Ausnahme bildet JSON. Hier findet eine Javascript-Notation für Variablen Anwendung. Diese gegenüber XML kompakteren Variante hat viele Anhänger, weil bei umfangreichen Daten die Antwortzeiten kürzer sind.

AJAX-Frameworks für PHP

Ein AJAX-Framework nimmt ihnen Arbeit ab. Es kümmert sich zum Beispiel darum, dass die Aufrufe auf der Seite des Browsers entsprechende Gegenstücke im jeweiligen Serverskript finden. Das bekannteste Framework für AJAX ist Sajax. Hier finden Sie eine damit realisierte kleine Beispielanwendung:

Mit dem Framework PAJAJ gibt es eine PHP-Framework, bei dem JSON anstatt XML Verwendung findet.

Lassen Sie sich von dem Streit um die “richtige” Technik nicht irre machen. Entscheidend ist, wie sehr ein vorhandenes Framework Sie beim Programmieren entlastet und – bei umfangreichen Rückgabedaten wie lange die Übertragung dauert. Mit den Frameworks Sajax und Json haben Sie auf jeden Fall praktikable Werkzeuge zur Verfügung, die wenig Einarbeitungszeit benötigen.

Ähnliche Beiträge