Response: text() method
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.
Note: This feature is available in Web Workers.
The text() method of the Response interface takes a Response stream and reads it to completion.
It returns a promise that resolves with a String.
The response is always decoded using UTF-8.
Syntax
text()
Parameters
None.
Return value
A Promise that resolves with a String.
Exceptions
AbortErrorDOMException-
The request was aborted.
TypeError-
Thrown for one of the following reasons:
- The response body is disturbed or locked.
- There was an error decoding the body content (for example, because the
Content-Encodingheader is incorrect).
Examples
In our fetch text example (run fetch text live), we have an <article> element and three links (stored in the myLinks array.)
First, we loop through all of these and give each one an onclick event handler so that the getData() function is run — with the link's data-page identifier passed to it as an argument — when one of the links is clicked.
When getData() is run, we create a new request using the Request() constructor, then use it to fetch a specific .txt file.
When the fetch is successful, we read a string out of the response using text(), then set the innerText of the <article> element equal to the text object.
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}`;
});
}
Specifications
| Specification |
|---|
| Fetch> # ref-for-dom-body-text①> |
Browser compatibility
Loading…