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 zu laden. Dies ermöglicht es einer Webseite, nur einen Teil der Seite zu aktualisieren, ohne die Aktionen des Benutzers zu unterbrechen.

EventTarget XMLHttpRequestEventTarget XMLHttpRequest

Trotz seines Namens kann XMLHttpRequest verwendet werden, um jegliche Art von Daten abzurufen, nicht nur XML.

Wenn Ihre Kommunikation das Empfangen von Ereignisdaten oder Nachrichtendaten von einem Server umfassen muss, ziehen Sie die Verwendung von server-sent events über die EventSource-Schnittstelle in Betracht. Für Vollduplex-Kommunikation könnte 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 von EventTarget.

XMLHttpRequest.readyState Schreibgeschützt

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

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, der den Antwort-Entity-Body 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 von dem HTTP-Server zurückgegebenen Antwort-String enthält. Im Gegensatz zu XMLHttpRequest.status enthält dies 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, 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, das den Upload-Prozess darstellt.

XMLHttpRequest.withCredentials

Gibt true zurück, wenn Access-Control-Anfragen mit Anmeldeinformationen wie Cookies oder Authorisierungs-Headern gemacht werden sollen; andernfalls false.

Nicht-standardisierte Eigenschaften

XMLHttpRequest.mozAnon Schreibgeschützt Nicht standardisiert

Ein Boolean. Wenn wahr, wird die Anfrage ohne Cookie- und Authentifizierungs-Header gesendet.

XMLHttpRequest.mozSystem Schreibgeschützt Nicht standardisiert

Ein Boolean. Wenn wahr, wird die Same-Origin-Policy bei der Anfrage nicht durchgesetzt.

Instanzmethoden

XMLHttpRequest.abort()

Bricht die Anfrage ab, wenn sie bereits gesendet wurde.

XMLHttpRequest.getAllResponseHeaders()

Gibt alle Antwort-Header zurück, getrennt durch CRLF, als String, 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 eine Attributionsquelle oder ein Auslöseevent registrieren kann.

XMLHttpRequest.setRequestHeader()

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

Ereignisse

abort

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

error

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

load

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

loadend

Wird ausgelöst, wenn eine Anfrage abgeschlossen wurde, ob erfolgreich (nach load) oder nicht erfolgreich (nach abort oder error). Auch über die onloadend-Ereignishandlereigenschaft verfügbar.

loadstart

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

progress

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

readystatechange

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

timeout

Wird ausgelöst, wenn der Fortschritt aufgrund einer abgelaufenen voreingestellten Zeit beendet wird. Auch über die ontimeout-Ereignishandlereigenschaft verfügbar.

Spezifikationen

Specification
XMLHttpRequest
# interface-xmlhttprequest

Browser-Kompatibilität

Siehe auch