HTML in 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.

Die W3C-XMLHttpRequest Spezifikation fügt HTML-Parsing-Unterstützung zu XMLHttpRequest hinzu, das ursprünglich nur XML-Parsing unterstützte. Diese Funktion ermöglicht es Webanwendungen, eine HTML-Ressource als geparstes DOM unter Verwendung von XMLHttpRequest zu erhalten.

Um einen Überblick darüber zu erhalten, wie XMLHttpRequest im Allgemeinen verwendet wird, siehe Verwendung von XMLHttpRequest.

Einschränkungen

Um die synchrone Verwendung von XMLHttpRequest zu entmutigen, ist HTML-Unterstützung im synchronen Modus nicht verfügbar. Zudem ist HTML-Unterstützung nur verfügbar, wenn die responseType-Eigenschaft auf "document" gesetzt wurde. Diese Einschränkung vermeidet unnötiges Zeitverschwenden beim Parsen von HTML, wenn Altcodes XMLHttpRequest im Standardmodus verwenden, um responseText für text/html-Ressourcen abzurufen. Außerdem vermeidet diese Einschränkung Probleme mit Altcoden, die davon ausgehen, dass responseXML für HTTP-Fehlerseiten null ist (die oft einen text/html-Antwortinhalt haben).

Verwendung

Das Abrufen einer HTML-Ressource als DOM mit XMLHttpRequest funktioniert genauso wie das Abrufen einer XML-Ressource als DOM mit XMLHttpRequest, jedoch können Sie den synchronen Modus nicht verwenden und Sie müssen explizit ein Dokument anfordern, indem Sie dem responseType-Eigenschaft des XMLHttpRequest-Objekts nach dem Aufruf von open(), aber vor dem Aufruf von send(), den String "document" zuweisen.

js
const xhr = new XMLHttpRequest();
xhr.onload = () => {
  console.log(xhr.responseXML.title);
};
xhr.open("GET", "file.html");
xhr.responseType = "document";
xhr.send();

Zeichencodierung

Wenn die Zeichencodierung im HTTP-Content-Type Header deklariert ist, wird diese Zeichencodierung verwendet. Andernfalls, wenn ein Byte-Order-Mark vorhanden ist, wird die vom Byte-Order-Mark angegebene Codierung verwendet. Andernfalls, wenn ein <meta>-Element die Zeichencodierung innerhalb der ersten 1024 Bytes der Datei deklariert, wird diese Codierung verwendet. Andernfalls wird die Datei als UTF-8 dekodiert.

Spezifikationen

Specification
XMLHttpRequest
# interface-xmlhttprequest

Browser-Kompatibilität

Siehe auch