Den Begriff Ajax hat Jesse James Garrett (Mitarbeiter der Agentur Adaptive Path) in seinem Aufsatz Ajax: A New Approach to Web Applications aus dem Jahr 2005 maßgeblich geprägt. Grundsätzlich waren die technologischen Grundlagen und die Vorgehensweise aber bereits bekannt und wurden generell mit dem Begriff XMLHttpRequest beschrieben.
Beispiel: Mit Hilfe des XmlHttpRequest Objekts werden Daten versendet (dabei wird ein Parameter mit GET-Methode übertragen):
function getXmlHttpRequestObject() {
//XmlHttpRequest Objekt
if (window.XMLHttpRequest) {
return new XMLHttpRequest(); //nicht IE
} else if(window.ActiveXObject) {
return new ActiveXObject("Microsoft.XMLHTTP"); //IE
}
}
function sende(webserviceUrl, variable, wert) {
// asynchroner Aufruf eines Webserice
//Browser spezifisches XmlHttpRequest Objekt.
var receiveReq = getXmlHttpRequestObject();
if (receiveReq.readyState == 4 || receiveReq.readyState == 0) {
//starte den neuen Request nur, wenn XMLHttpRequest bereit ist
receiveReq.open("GET", webserviceUrl + "?" + variable + "=" + wert, true);
receiveReq.send(null);
}
}
sende('sende.php', 'lang', 'de');
Dieses Beispiel ruft die URL sende.php mit dem Parameter lang=de auf. Die Aufgabe von sende.php könnte sein, den übergebenen Wert in einer Datenbank zu speichern
Traditionell übermitteln Webanwendungen Formulare, die zuvor vom Benutzer ausgefüllt wurden, an einen Webserver. Der Webserver antwortet, indem er dem Browser des Nutzers eine entsprechend den zuvor übermittelten Formulardaten neu generierte Webseite schickt.µ
Ajax-Anwendungen hingegen sind in der Lage, Anfragen an den Server zu schicken, bei denen nur die Daten angefordert werden, die tatsächlich benötigt werden. Dies geschieht über den Aufruf eines Web-Services.
XML als Datenaustauschformat ist aber nicht zwingend notwendig. In einigen Applikation wird z.B. auch JSON (JacaScript Object Notation) verwendet. Die JSON-Datenobjekte können dann einfach per eval-Funktion in JavaScript-Objekte umgewandelt werden.