Asynchronous Javascript And XML
AJAX ist ein Synonym für ein Konzept zur Programmierung von Web-Anwendungen. AJAX kombiniert die folgenden bekannten Techniken:
- HTML, XHTML oder XML als Inhalt einer Web-Seite,
- CSS zur Formatierung der Darstellung der Web-Seite,
- DOM als Datenzugriffsschnittstelle zur Manipulation des Inhaltes der Seite,
- JavaScript (ECMAScript, DHTML) oder Java zur Programmierung des interaktiven Verhaltens,
- das XMLHttpRequest-Objekt, um per HTTP Daten mit einem Application-Server auszutauschen,
- XML, SOAP, JSON oder andere Textformate zum Datenaustausch
Während eine klassische Web-Anwendung HTML-Seiten sehr oft komplett neu laden muss, werden beim AJAX-Programmiermodell nur selten komplette Seiten geladen. Statt dessen werden über das XMLHttpRequest-Objekt asynchron kleinere Datenmengen mit dem Server ausgetauscht. Die Ergebnisse werden per JavaScript direkt in das DOM-Datenmodell der Seite eingebaut und vom Browser angezeigt. Vorteil dieser Technik ist, dass die so entstehenden Anwendungen ein höheres Maß an Interaktivität ermöglichen, weil sie weniger träge als klassische Web-Anwendungen auf Nutzerinteraktionen reagieren können. Nachteilig sind nach wie vor die noch mangelnde Kompatibilität der AJAX-Techniken in den einzelnen Browsern, die vielen möglichen Programmiervarianten sowie die Sicherheitsproblematik von JavaScript.
Der AJAX-Begriff wird häufig gebraucht in Zusammenhang mit dem Hypebegriff "Web 2.0", der für neue, interaktive Web-Anwendungen steht, die oft mit AJAX-Techniken programmiert sind.