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 Safa 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;