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.

We’d love to hear your thoughts on the next set of proposals for the JavaScript language. You can find a description of the proposals here.
Please take two minutes to fill out our short survey.

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. Dies ermöglicht es einer Webseite, nur einen Teil der Seite zu aktualisieren, ohne das zu stören, was der Benutzer gerade tut.

EventTarget XMLHttpRequestEventTarget XMLHttpRequest

Trotz seines Namens kann XMLHttpRequest zum Abrufen beliebiger Datentypen verwendet werden, nicht nur XML.

Falls Ihre Kommunikation den Empfang von Ereignis- oder Nachrichtendaten von einem Server einbeziehen muss, sollten Sie die Verwendung von server-sent events über das EventSource-Interface in Betracht ziehen. Für bidirektionale Kommunikation könnte WebSockets eine bessere Wahl sein.

Konstruktor

XMLHttpRequest()

Der Konstruktor initialisiert ein XMLHttpRequest. Er muss aufgerufen werden, bevor andere Methoden aufgerufen werden.

Instanz-Eigenschaften

Diese Schnittstelle erbt auch Eigenschaften von XMLHttpRequestEventTarget und von EventTarget.

XMLHttpRequest.readyState Schreibgeschützt

Gibt eine Zahl zurück, die den Zustand der Anforderung darstellt.

XMLHttpRequest.response Schreibgeschützt

Gibt entweder einen ArrayBuffer, ein Blob, ein Document, ein JavaScript-Objekt oder einen String zurück, abhängig vom Wert von XMLHttpRequest.responseType, der den Antwortkörper 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 den vom HTTP-Server zurückgegebenen Antworttext enthält. Im Gegensatz zu XMLHttpRequest.status enthält dieser den gesamten Text der Antwortnachricht (zum Beispiel "OK").

Hinweis: Gemäß 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 zu übertragen, die in einer HTTP/1.1-Statuszeile enthalten sind.

XMLHttpRequest.timeout

Die Zeit in Millisekunden, die eine Anfrage benötigen kann, bevor sie automatisch beendet wird.

XMLHttpRequest.upload Schreibgeschützt

Ein XMLHttpRequestUpload, das den Upload-Prozess darstellt.

XMLHttpRequest.withCredentials

Gibt true zurück, wenn standortübergreifende Access-Control-Anfragen mit Anmeldeinformationen wie Cookies oder Autorisierungs-Headern ausgeführt werden sollen; andernfalls false.

Nicht-standardisierte Eigenschaften

XMLHttpRequest.mozAnon Schreibgeschützt Nicht standardisiert

Ein boolean.Wenn true, wird die Anfrage ohne Cookie- und Authentifizierungs-Header gesendet.

XMLHttpRequest.mozSystem Schreibgeschützt Nicht standardisiert

Ein boolean. Wenn true, wird die Same-Origin-Policy bei der Anfrage nicht durchgesetzt.

Instanz-Methoden

XMLHttpRequest.abort()

Bricht die Anfrage ab, wenn sie bereits gesendet wurde.

XMLHttpRequest.getAllResponseHeaders()

Gibt alle Antwort-Header als durch CRLF getrennten 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), kehrt diese Methode sofort zurück, sobald die Anfrage gesendet wurde.

XMLHttpRequest.setAttributionReporting() Sicherer Kontext Experimentell

Gibt an, dass Sie möchten, dass die Antwort der Anfrage eine Attributionsquelle oder ein Auslöserereignis registrieren kann.

XMLHttpRequest.setRequestHeader()

Setzt den Wert eines HTTP-Anfrage-Headers. 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. Ist auch über die onabort-Ereignishandler-Eigenschaft verfügbar.

error

Wird ausgelöst, wenn die Anfrage auf einen Fehler gestoßen ist. Ist auch über die onerror-Ereignishandler-Eigenschaft verfügbar.

load

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

loadend

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

loadstart

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

progress

Wird periodisch ausgelöst, wenn eine Anfrage mehr Daten empfängt. Ist auch über die onprogress-Ereignishandler-Eigenschaft verfügbar.

readystatechange

Wird ausgelöst, wann immer sich die readyState-Eigenschaft ändert. Ist auch über die onreadystatechange-Ereignishandler-Eigenschaft verfügbar.

timeout

Wird ausgelöst, wenn der Fortschritt aufgrund einer voreingestellten Zeitüberschreitung beendet wird. Ist auch über die ontimeout-Ereignishandler-Eigenschaft verfügbar.

Spezifikationen

Specification
XMLHttpRequest
# interface-xmlhttprequest

Browser-Kompatibilität

Siehe auch