Ответ: метод text()
Базовая Широко доступная
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с марта 2017 года.
Примечание: Эта функция доступна в Web Workers.
Метод text() интерфейса Response принимает поток Response и считывает его до конца. Он возвращает промис, который разрешается строкой String. Ответ всегда декодируется с использованием UTF-8.
Синтаксис
text()
Параметры
Нет.
Значение возврата
Промис, который разрешается строкой String.
Исключения
-
DOMExceptionAbortError -
Запрос был отменён.
TypeError-
Выбрасывается по одной из следующих причин:
- Тело ответа нарушено или заблокировано.
- Произошла ошибка при декодировании содержимого тела (например, потому что заголовок
Content-Encodingневерный).
Примеры
В нашем примере получения текста (запустить приложение), у нас есть элемент <article> и три ссылки (хранящиеся в массиве myLinks). Сначала мы перебираем их и устанавливаем для каждой обработчик события onclick, чтобы функция getData() — с идентификатором ссылки data-page в качестве аргумента — запускалась при нажатии на одну из ссылок.
Когда выполняется getData(), мы создаём новый запрос с помощью конструктора Request(), а затем используем его для получения определённого .txt файла. После успешного получения мы считываем строку из ответа, используя text(), а затем устанавливаем значение innerText элемента <article> равным объекту текста.
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① |
Совместимость с браузерами
| Рабочие столы | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
text |
42 | 14 | 39 | 29 | 10.1 | 42 | 39 | 29 | 10.3 | 4.0 | 42 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Response/text