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 eine vollständige Seitenaktualisierung durchführen zu müssen. Dies ermöglicht es einer Webseite, nur einen Teil der Seite zu aktualisieren, ohne den Benutzer zu stören.

EventTarget XMLHttpRequestEventTarget XMLHttpRequest

Trotz seines Namens kann XMLHttpRequest zur Abfrage beliebiger Datentypen verwendet werden, nicht nur XML.

Falls Ihre Kommunikation den Empfang von Ereignis- oder Nachrichtendaten von einem Server beinhalten muss, ziehen Sie in Betracht, servergesendete Ereignisse über die EventSource-Schnittstelle zu verwenden. Für vollduplexe Kommunikation könnten WebSockets eine bessere Wahl sein.

Konstruktor

XMLHttpRequest()

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

Instanzeigenschaften

Diese Schnittstelle erbt auch Eigenschaften von XMLHttpRequestEventTarget und EventTarget.

XMLHttpRequest.readyState Schreibgeschützt

Gibt eine Zahl zurück, die den Status der Anfrage darstellt.

XMLHttpRequest.response Schreibgeschützt

Gibt einen ArrayBuffer, ein Blob, ein Document, ein JavaScript-Objekt oder einen String zurück, abhängig vom Wert von XMLHttpRequest.responseType, der den Antwort-Entitätskörper enthält.

XMLHttpRequest.responseText Schreibgeschützt

Gibt einen String zurück, der die Antwort auf die Anforderung als Text enthält, oder null, wenn die Anfrage erfolglos 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 der Anfrage enthält, oder null, wenn die Anfrage erfolglos 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 Antwortstring enthält. Im Gegensatz zu XMLHttpRequest.status enthält dies den gesamten Text der Antwortnachricht (zum Beispiel "OK").

Hinweis: Laut der HTTP/2-Spezifikation RFC 7540, Abschnitt 8.1.2.4: Response Pseudo-Header Fields definiert HTTP/2 keinen Weg, die Version oder den Grundsatz zu transportieren, der in einer HTTP/1.1-Statuszeile enthalten ist.

XMLHttpRequest.timeout

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

XMLHttpRequest.upload Schreibgeschützt

Ein XMLHttpRequestUpload, der den Upload-Prozess darstellt.

XMLHttpRequest.withCredentials

Gibt true zurück, wenn die Erstellung von Access-Control-Anfragen über Websites hinweg mit Anmeldedaten wie Cookies oder Autorisierungsheadern erfolgen soll; andernfalls false.

Nicht-standardmäßige Eigenschaften

XMLHttpRequest.channel Schreibgeschützt

Der Kanal, den das Objekt während der Durchführung der Anfrage verwendet.

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 auf die Anfrage nicht angewendet.

XMLHttpRequest.mozBackgroundRequest

Ein Boolean. Er zeigt 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 Antwort-Header, 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 wird.

XMLHttpRequest.setAttributionReporting() Sicherer Kontext Experimentell

Gibt an, dass Sie wollen, dass die Antwort auf die Anfrage eine Zuordnungsquelle oder ein Trigger-Ereignis 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. Auch verfügbar über die onabort Ereignis-Handler-Eigenschaft.

error

Wird ausgelöst, wenn die Anfrage auf einen Fehler gestoßen ist. Auch verfügbar über die onerror Ereignis-Handler-Eigenschaft.

load

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

loadend

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

loadstart

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

progress

Wird periodisch ausgelöst, wenn eine Anfrage mehr Daten empfängt. Auch verfügbar über die onprogress Ereignis-Handler-Eigenschaft.

readystatechange

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

timeout

Wird ausgelöst, wenn der Fortschritt aufgrund Ablauf der voreingestellten Zeit abgebrochen wird. Auch verfügbar über die ontimeout Ereignis-Handler-Eigenschaft.

Spezifikationen

Specification
XMLHttpRequest
# interface-xmlhttprequest

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
XMLHttpRequest
XMLHttpRequest() constructor
abort
abort event
Authorization header removed from cross-origin redirects
error event
getAllResponseHeaders
Header names returned in all lower case
getResponseHeader
load event
loadend event
loadstart event
open
overrideMimeType
progress event
readyState
readystatechange event
response
responseText
responseType
responseType.arraybuffer_value
responseType.blob_value
responseType.document_value
responseType.json_value
responseURL
responseXML
send
ArrayBufferView as parameter to send()
ArrayBuffer as parameter to send()
Blob as parameter to send()
FormData as parameter to send()
URLSearchParams as parameter to send()
setAttributionReporting
Experimental
setPrivateToken
Experimental
setRequestHeader
status
statusText
timeout
timeout event
upload
withCredentials
Available in workers

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Partial support
Partial support
No support
No support
Experimental. Expect behavior to change in the future.
See implementation notes.
Has more compatibility info.

Siehe auch