Response: text() 方法
text()
方法是 Response
接口的方法,它接收 Response
流并将其读取到完成。它返回一个 Promise,该 Promise 解析为一个 String
。响应始终使用 UTF-8 解码。
语法
js
text()
参数
无。
返回值
一个解析为 String
的 Promise。
异常
DOMException
AbortError
-
请求已中止。
TypeError
-
由于以下原因之一抛出
- 响应主体已损坏或被锁定。
- 解码主体内容时出错(例如,因为
Content-Encoding
标头不正确)。
示例
在我们的fetch 文本示例(运行fetch 文本实时)中,我们有一个<article>
元素和三个链接(存储在 myLinks
数组中)。首先,我们循环遍历所有这些链接,并为每个链接提供一个 onclick
事件处理程序,以便在单击其中一个链接时运行 getData()
函数——并将链接的 data-page
标识符作为参数传递给它。
当运行 getData()
时,我们使用Request()
构造函数创建一个新请求,然后使用它来获取特定的 .txt
文件。当获取成功时,我们使用 text()
从响应中读取一个字符串,然后将innerText
的<article>
元素设置为文本对象。
js
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) => response.text())
.then((text) => {
myArticle.innertext = text;
});
}
规范
规范 |
---|
Fetch 标准 # ref-for-dom-body-text① |
浏览器兼容性
BCD 表格仅在启用了 JavaScript 的浏览器中加载。