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.
Hinweis: Dieses Feature ist verfügbar in Web Workers, außer in 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.
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
Nur lesbar-
Gibt eine Zahl zurück, die den Status der Anfrage darstellt.
XMLHttpRequest.response
Nur lesbar-
Gibt einen
ArrayBuffer
, einBlob
, einDocument
, ein JavaScript-Objekt oder einen String zurück, abhängig vom Wert vonXMLHttpRequest.responseType
, der den Antwort-Entitätskörper enthält. XMLHttpRequest.responseText
Nur lesbar-
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
Nur lesbar-
Gibt die serialisierte URL der Antwort oder den leeren String zurück, wenn die URL null ist.
XMLHttpRequest.responseXML
Nur lesbar-
Gibt ein
Document
zurück, das die Antwort der Anfrage enthält, odernull
, 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
Nur lesbar-
Gibt den HTTP-Antwortstatuscode der Anfrage zurück.
XMLHttpRequest.statusText
Nur lesbar-
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
Nur lesbar-
Ein
XMLHttpRequestUpload
, der den Upload-Prozess darstellt. XMLHttpRequest.withCredentials
-
Gibt
true
zurück, wenn die Erstellung vonAccess-Control
-Anfragen über Websites hinweg mit Anmeldedaten wie Cookies oder Autorisierungsheadern erfolgen soll; andernfallsfalse
.
Nicht-standardmäßige Eigenschaften
XMLHttpRequest.channel
Nur lesbar-
Der Kanal, den das Objekt während der Durchführung der Anfrage verwendet.
XMLHttpRequest.mozAnon
Nur lesbar-
Ein Boolean. Wenn
true
, wird die Anfrage ohne Cookie- und Authentifizierungsheader gesendet. XMLHttpRequest.mozSystem
Nur lesbar-
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()
Secure context 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()
nachopen()
, aber vorsend()
aufrufen.
Ereignisse
abort
-
Wird ausgelöst, wenn eine Anfrage abgebrochen wurde, beispielsweise weil das Programm
XMLHttpRequest.abort()
aufgerufen hat. Auch verfügbar über dieonabort
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 dieonload
Ereignis-Handler-Eigenschaft. loadend
-
Wird ausgelöst, wenn eine Anfrage abgeschlossen wurde, unabhängig davon, ob erfolgreich (nach
load
) oder nicht (nachabort
odererror
). Auch verfügbar über dieonloadend
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 dieonreadystatechange
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 Standard # interface-xmlhttprequest |
Browser-Kompatibilität
BCD tables only load in the browser
Siehe auch
XMLSerializer
: Serialisierung eines DOM-Baums in XML- Verwendung von XMLHttpRequest
- Fetch API