XMLHttpRequest

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

* Some parts of this feature may have varying levels of support.

Hinweis: Diese Funktion ist in Web Workers verfügbar, mit Ausnahme von Service Workers.

XMLHttpRequest (XHR)-Objekte werden verwendet, um mit Servern zu interagieren. Sie können Daten von einer URL abrufen, ohne die gesamte Seite neu laden zu müssen. Dadurch kann eine Webseite nur einen Teil der Seite aktualisieren, ohne das, was der Benutzer gerade tut, zu unterbrechen.

EventTarget XMLHttpRequestEventTarget XMLHttpRequest

Trotz seines Namens kann XMLHttpRequest verwendet werden, um jeden Datentyp abzurufen, nicht nur XML.

Wenn Ihre Kommunikation das Empfangen von Ereignis- oder Meldungsdaten von einem Server beinhalten muss, sollten Sie die Verwendung von server-sent events über das EventSource-Interface in Betracht ziehen. Für vollduplexe Kommunikation kann WebSockets eine bessere Wahl sein.

Konstruktor

XMLHttpRequest()

Der Konstruktor initialisiert ein XMLHttpRequest. Er muss vor allen anderen Methodenaufrufen aufgerufen werden.

Instanzeigenschaften

Dieses Interface erbt auch Eigenschaften von XMLHttpRequestEventTarget und von EventTarget.

XMLHttpRequest.readyState Schreibgeschützt

Gibt eine Zahl zurück, die den Status der Anfrage repräsentiert.

XMLHttpRequest.response Schreibgeschützt

Gibt ein ArrayBuffer, ein Blob, ein Document, ein JavaScript-Objekt oder einen String zurück, abhängig vom Wert von XMLHttpRequest.responseType, das den Antwortinhalt enthält.

XMLHttpRequest.responseText Schreibgeschützt

Gibt einen String zurück, der die Antwort auf die Anfrage als Text enthält, oder null, wenn die Anfrage nicht erfolgreich war oder noch nicht gesendet wurde.

XMLHttpRequest.responseType

Gibt den Typ der Antwort an.

XMLHttpRequest.responseURL Schreibgeschützt

Gibt die serialisierte URL der Antwort oder den leeren String zurück, wenn die URL null ist.

XMLHttpRequest.responseXML Schreibgeschützt

Gibt ein Document zurück, das die Antwort auf die Anfrage enthält, oder null, wenn die Anfrage nicht erfolgreich war, noch nicht gesendet wurde oder nicht als XML oder HTML geparst werden kann. Nicht verfügbar in Web Workers.

XMLHttpRequest.status Schreibgeschützt

Gibt den HTTP-Antwortstatuscode der Anfrage zurück.

XMLHttpRequest.statusText Schreibgeschützt

Gibt einen String zurück, der die vom HTTP-Server zurückgegebene Antwortzeichenkette enthält. Im Gegensatz zu XMLHttpRequest.status enthält dies den gesamten Text der Antwortnachricht (z. B. "OK").

Hinweis: Laut der HTTP/2-Spezifikation RFC 7540, Abschnitt 8.1.2.4: Response Pseudo-Header Fields, definiert HTTP/2 keine Möglichkeit, die Version oder den Grundsatz, der in einer HTTP/1.1-Statuszeile enthalten ist, zu übertragen.

XMLHttpRequest.timeout

Die Zeit in Millisekunden, die eine Anfrage in Anspruch nehmen kann, bevor sie automatisch beendet wird.

XMLHttpRequest.upload Schreibgeschützt

Ein XMLHttpRequestUpload, das den Hochladeprozess repräsentiert.

XMLHttpRequest.withCredentials

Gibt true zurück, wenn domänenübergreifende Access-Control-Anfragen unter Verwendung von Anmeldeinformationen wie Cookies oder Authentifizierungsheadern durchgeführt werden sollen; ansonsten false.

Nicht standardisierte Eigenschaften

XMLHttpRequest.channel Schreibgeschützt

Der Kanal, der vom Objekt beim Ausführen der Anfrage verwendet wird.

XMLHttpRequest.mozAnon Schreibgeschützt

Ein Boolean. Wenn true, wird die Anfrage ohne Cookie- und Authentifizierungsheader gesendet.

XMLHttpRequest.mozSystem Schreibgeschützt

Ein Boolean. Wenn true, wird die Same-Origin-Richtlinie bei der Anfrage nicht durchgesetzt.

XMLHttpRequest.mozBackgroundRequest

Ein Boolean. Er gibt an, ob das Objekt eine Hintergrunddienstanfrage darstellt oder nicht.

Instanzmethoden

XMLHttpRequest.abort()

Bricht die Anfrage ab, wenn sie bereits gesendet wurde.

XMLHttpRequest.getAllResponseHeaders()

Gibt alle Antwortheader, getrennt durch CRLF, als String zurück, oder null, wenn keine Antwort empfangen wurde.

XMLHttpRequest.getResponseHeader()

Gibt den String zurück, der den Text des angegebenen Headers enthält, oder null, wenn entweder die Antwort noch nicht empfangen wurde oder der Header in der Antwort nicht existiert.

XMLHttpRequest.open()

Initialisiert eine Anfrage.

XMLHttpRequest.overrideMimeType()

Überschreibt den vom Server zurückgegebenen MIME-Typ.

XMLHttpRequest.send()

Sendet die Anfrage. Wenn die Anfrage asynchron ist (was der Standard ist), gibt diese Methode zurück, sobald die Anfrage gesendet wurde.

XMLHttpRequest.setAttributionReporting() Sicherer Kontext Experimentell

Gibt an, dass Sie möchten, dass die Antwort der Anfrage in der Lage ist, eine Attributionsquelle oder ein Ereignis zu registrieren.

XMLHttpRequest.setRequestHeader()

Setzt den Wert eines HTTP-Anfrageheaders. Sie müssen setRequestHeader() nach open(), aber vor send() aufrufen.

Ereignisse

abort

Wird ausgelöst, wenn eine Anfrage abgebrochen wurde, beispielsweise weil das Programm XMLHttpRequest.abort() aufgerufen hat. Auch verfügbar über die onabort-Ereignishandler-Eigenschaft.

error

Wird ausgelöst, wenn bei der Anfrage ein Fehler aufgetreten ist. Auch verfügbar über die onerror-Ereignishandler-Eigenschaft.

load

Wird ausgelöst, wenn eine XMLHttpRequest-Transaktion erfolgreich abgeschlossen wird. Auch verfügbar über die onload-Ereignishandler-Eigenschaft.

loadend

Wird ausgelöst, wenn eine Anfrage abgeschlossen ist, unabhängig davon, ob sie erfolgreich war (nach load) oder nicht erfolgreich war (nach abort oder error). Auch verfügbar über die onloadend-Ereignishandler-Eigenschaft.

loadstart

Wird ausgelöst, wenn eine Anfrage begonnen hat, Daten zu laden. Auch verfügbar über die onloadstart-Ereignishandler-Eigenschaft.

progress

Wird regelmäßig ausgelöst, wenn eine Anfrage mehr Daten empfängt. Auch verfügbar über die onprogress-Ereignishandler-Eigenschaft.

readystatechange

Wird ausgelöst, wenn sich die readyState-Eigenschaft ändert. Auch verfügbar über die onreadystatechange-Ereignishandler-Eigenschaft.

timeout

Wird ausgelöst, wenn der Fortschritt aufgrund abgelaufener voreingestellter Zeit beendet wird. Auch verfügbar über die ontimeout-Ereignishandler-Eigenschaft.

Spezifikationen

Specification
XMLHttpRequest
# interface-xmlhttprequest

Browser-Kompatibilität

Siehe auch