XMLHttpRequest

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg

Definition

Der XMLHttpRequest ist ein Konstrukt innerhalb der meisten aktuellen Browser, der einer Scripting Engine wie z.B. JavaScript die Funktionalitäten eines HTTP-Clients ermöglicht und damit z.B. die Übertragung von Formulardaten oder das Abfragen von Daten von einem Server. Dieses Konstrukt ist die Kerntechnologie in vielen Ajax-Anwendungen und ermöglicht es dynamisch Daten vom Webserver abzurufen.

Geschichte

Die erste Implementierung eines XMLHttpRequests findet sich im Microsoft Internet Explorer 5 von 1998 als ActiveX-Objekt. Andere Browserhersteller haben nach und nach eine eigene Implementierung dieser API in ihre Browser integriert. Mozilla und alle anderen Gecko-Derivate verfügen seit Version 1.0 über ein solches Konstrukt, Opera seit Version 7.6 Beta und Safari seit Version 1.2 . Da sich der Aufruf des XMLHttpRequests in den verschiedenen Browsern unterscheidet wird gerade (Stand: 01.07.2006) vom W3C-Konsortium an einer Standardisierung gearbeitet.

Beispiele

Um ein XMLHttpRequest-Objekt browserunabhängig zu generieren wird der folgende JavaScript-Code benötigt:

function loadXMLDoc(url) {

   if (window.XMLHttpRequest) { //Hier wird getestet ob der Browser ein integriertes XMLHttpRequest-Objekt besitzt
       req = new XMLHttpRequest();
       // Registrierung des Event-Handlers am Objekt
       req.onreadystatechange = processReqChange;
       // Absetzen des Requests 
       req.open("GET", url, true);
       req.send(null);
   } else if (window.ActiveXObject) { // ... oder ob das Objekt per ActiveX (Internet Explorer} implementiert werden muss
       req = new ActiveXObject("Microsoft.XMLHTTP");
       // Registrierung des Event-Handlers am Objekt
       req.onreadystatechange = processReqChange;
       // Request absetzen
       req.open("GET", url, true);
       req.send();
   }

}

Ist keiner der Aufrufe erfolgreich können keine Ajax-Funktionalitäten angeboten werden!

Quellen

  • W3C Working Draft, The XMLHttpRequest Object, [1]
  • Wikipedia XMLHttpRequest [2]
  • Olaf Bergmann, Carsten Bormann, AJAX - Frische Ansätze für das Web-Design, 1. Auflage 2005, TEIA AG Lehrbuch Verlag Berlin 2005; ISBN 3-935539-26-3 (Online-Version des Buchs);
  • Stefan Mintert, Zwei Helden, IX 11 2005 S.56-59,Heise Verlag Hannover;