Response: text() 方法

基线 广泛可用

此功能已得到充分确立,并且可在许多设备和浏览器版本上运行。它已在浏览器中可用,自 2017 年 3 月.

text() 方法是 Response 接口的方法,它接收 Response 流并将其读取到完成。它返回一个 Promise,该 Promise 解析为一个 String。响应始终使用 UTF-8 解码。

语法

js
text()

参数

无。

返回值

一个解析为 String 的 Promise。

异常

DOMException AbortError

请求已中止

TypeError

由于以下原因之一抛出

示例

在我们的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 的浏览器中加载。

另请参阅