Antwort: text()-Methode
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since März 2017.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die text()
-Methode der Response
-Schnittstelle nimmt einen Response
-Stream und liest diesen vollständig aus. Sie gibt ein Promise zurück, das mit einem String
erfüllt wird. Die Antwort wird immer mit UTF-8 dekodiert.
Syntax
text()
Parameter
Keine.
Rückgabewert
Ein Promise, das mit einem String
erfüllt wird.
Ausnahmen
AbortError
DOMException
-
Die Anfrage wurde abgebrochen.
TypeError
-
Wird aus einem der folgenden Gründe ausgelöst:
- Der Antwortkörper ist gestört oder gesperrt.
- Es gab einen Fehler beim Dekodieren des Inhalts des Körpers (zum Beispiel, weil der
Content-Encoding
-Header falsch ist).
Beispiele
In unserem Beispiel für das Abrufen von Text (führen Sie fetch text live aus), haben wir ein <article>
-Element und drei Links (gespeichert im myLinks
-Array). Zuerst iterieren wir durch alle diese und geben jedem einen onclick
-Ereignishandler, sodass die getData()
-Funktion ausgeführt wird – mit dem data-page
-Identifikator des Links als Argument – wenn einer der Links angeklickt wird.
Wenn getData()
ausgeführt wird, erstellen wir eine neue Anfrage mit dem Request()
-Konstruktor und verwenden diese, um eine bestimmte .txt
-Datei abzurufen. Wenn das Abrufen erfolgreich ist, lesen wir einen String aus der Antwort mit text()
und setzen dann das innerText
des <article>
-Elements gleich dem Textobjekt.
const myArticle = document.querySelector("article");
const myLinks = document.querySelectorAll("ul a");
for (const link of myLinks) {
link.onclick = (e) => {
e.preventDefault();
const linkData = e.target.getAttribute("data-page");
getData(linkData);
};
}
function getData(pageId) {
console.log(pageId);
const myRequest = new Request(`${pageId}.txt`);
fetch(myRequest)
.then((response) => {
if (!response.ok) {
throw new Error(`HTTP error, status = ${response.status}`);
}
return response.text();
})
.then((text) => {
myArticle.innerText = text;
})
.catch((error) => {
myArticle.innerText = `Error: ${error.message}`;
});
}
Spezifikationen
Specification |
---|
Fetch> # ref-for-dom-body-text①> |
Browser-Kompatibilität
Loading…