XMLHttpRequest: Unterschied zwischen den Versionen
Fooler (Diskussion | Beiträge) |
Kowa (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 40: | Zeile 40: | ||
[[Kategorie:Web-Programmierung]] | [[Kategorie:Web-Programmierung]] | ||
[[Kategorie:World Wide Web]] | [[Kategorie:World Wide Web]] | ||
[[Kategorie:XML]] | |||
[[en:GlossaryWiki:XMLHttpRequest]] | [[en:GlossaryWiki:XMLHttpRequest]] |
Version vom 6. Juli 2006, 18:37 Uhr
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;