AJAX – Das XMLHttpRequest-Objekt
Das Kernstück von AJAX ist das XMLHttpRequest-Objekt.
Das XMLHttpRequest-Objekt
Alle modernen Browser unterstützen das XMLHttpRequest-Objekt.
Das XMLHttpRequest-Objekt kann verwendet werden, um Daten mit einem Server hinter den Kulissen auszutauschen. Das bedeutet, dass es möglich ist, Teile einer Webseite zu aktualisieren, ohne die ganze Seite neu zu laden.
Erstellen Sie ein XMLHttpRequest-Objekt
Alle modernen Browser (Chrome, Firefox, Edge (und IE7+), Safari, Opera) haben ein eingebautes XMLHttpRequest-Objekt.
Syntax zum Erstellen eines XMLHttpRequest-Objekts:
variable = new XMLHttpRequest();
Beispiel
var xhttp = new XMLHttpRequest();
Die im obigen Beispiel verwendete Datei „ajax_info.txt“ ist eine einfache Textdatei und sieht folgendermaßen aus:
<h1>AJAX</h1>
<p>AJAX is not a programming language.</p>
<p>AJAX is a
technique for accessing web servers from a web page.</p>
<p>AJAX stands for
Asynchronous JavaScript And XML.</p>
Zugriff über Domänen hinweg
Moderne Browser erlauben aus Sicherheitsgründen keinen domänenübergreifenden Zugriff.
Das bedeutet, dass sich sowohl die Webseite als auch die XML-Datei, die sie zu laden versucht, auf demselben Server befinden müssen.
Die Beispiele auf W3Schools öffnen alle XML-Dateien, die sich in der W3Schools-Domäne befinden.
Wenn Sie das obige Beispiel auf einer Ihrer eigenen Webseiten verwenden möchten, müssen sich die von Ihnen geladenen XML-Dateien auf Ihrem eigenen Server befinden.
XMLHttpRequest-Objektmethoden
Method | Description |
---|---|
new XMLHttpRequest() | Creates a new XMLHttpRequest object |
abort() | Cancels the current request |
getAllResponseHeaders() | Returns header information |
getResponseHeader() | Returns specific header information |
open(method,url,async,user,psw) | Specifies the request method: the request type GET or POST url: the file location async: true (asynchronous) or false (synchronous) user: optional user name psw: optional password |
send() | Sends the request to the server Used for GET requests |
send(string) | Sends the request to the server. Used for POST requests |
setRequestHeader() | Adds a label/value pair to the header to be sent |
XMLHttpRequest-Objekteigenschaften
Property | Description |
---|---|
onreadystatechange | Defines a function to be called when the readyState property changes |
readyState | Holds the status of the XMLHttpRequest. 0: request not initialized 1: server connection established 2: request received 3: processing request 4: request finished and response is ready |
responseText | Returns the response data as a string |
responseXML | Returns the response data as XML data |
status | Returns the status-number of a request 200: "OK" 403: "Forbidden" 404: "Not Found" For a complete list go to the Http Messages Reference |
statusText | Returns the status-text (e.g. "OK" or "Not Found") |