Ответ
Базовая Широко доступна *
Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с марта 2017 года.
* Некоторые части этой функции могут иметь различный уровень поддержки.
Примечание: Эта функция доступна в Web Workers.
Интерфейс Response из Fetch API представляет собой ответ на запрос.
Вы можете создать новый объект Response с помощью конструктора Response(), но чаще вы встретите объект Response , возвращаемый в результате другой операции API — например, в сервисном работнике FetchEvent.respondWith или в простом fetch().
Конструктор
Response()-
Создаёт новый объект
Response.
Свойства экземпляра
-
Response.bodyТолько для чтения -
Поток для чтения содержимого тела.
-
Response.bodyUsedТолько для чтения -
Хранит булево значение, указывающее, использовалось ли тело в ответе.
-
Response.headersТолько для чтения -
Объект
Headers, связанный с ответом. -
Response.okТолько для чтения -
Булево значение, указывающее, был ли ответ успешным (статус в диапазоне
200–299) или нет. -
Response.redirectedТолько для чтения -
Указывает, является ли ответ результатом перенаправления (то есть, его список URL содержит более одной записи).
-
Response.statusТолько для чтения -
Код состояния ответа. (Для успеха будет
200). -
Response.statusTextТолько для чтения -
Сообщение состояния, соответствующее коду состояния. (например,
OKдля200). -
Response.typeТолько для чтения -
Тип ответа (например,
basic,cors). -
Response.urlТолько для чтения -
URL ответа.
Статические методы
Response.error()-
Возвращает новый объект
Response, связанный с ошибкой сети. Response.redirect()-
Возвращает новый ответ с другим URL.
Response.json()-
Возвращает новый объект
Responseдля возвращения предоставленных данных, закодированных в JSON.
Методы экземпляра
Response.arrayBuffer()-
Возвращает промис, который разрешается представлением содержимого тела ответа как
ArrayBuffer. Response.blob()-
Возвращает промис, который разрешается представлением содержимого тела ответа как
Blob. Response.bytes()-
Возвращает промис, который разрешается представлением содержимого тела ответа как
Uint8Array. Response.clone()-
Создаёт копию объекта
Response. Response.formData()-
Возвращает промис, который разрешается представлением содержимого тела ответа как
FormData. Response.json()-
Возвращает промис, который разрешается результатом парсинга текстового содержимого тела ответа как
JSON. Response.text()-
Возвращает промис, который разрешается текстовым представлением содержимого тела ответа.
Примеры
Загрузка изображения
В нашем примере базового использования fetch (запустить пример онлайн) мы используем простой вызов fetch() для получения изображения и отображения его в элементе <img>. Вызов fetch() возвращает промис, который разрешается объектом Response , связанным с операцией получения ресурса.
Вы заметите, что так как мы запрашиваем изображение, нам нужно запустить Response.blob, чтобы придать ответу правильный тип MIME.
const image = document.querySelector(".my-image");
fetch("flowers.jpg")
.then((response) => response.blob())
.then((blob) => {
const objectURL = URL.createObjectURL(blob);
image.src = objectURL;
});
Вы также можете использовать конструктор Response() для создания собственного объекта Response:
const response = new Response();
Вызов PHP
Здесь мы вызываем файл PHP-программы, генерирующий строку JSON, отображая результат как значение JSON.
// Function to fetch JSON using PHP
const getJSON = async () => {
// Generate the Response object
const response = await fetch("getJSON.php");
if (response.ok) {
// Get JSON value from the response body
return response.json();
}
throw new Error("*** PHP file not found");
};
// Call the function and output value or error message to console
getJSON()
.then((result) => console.log(result))
.catch((error) => console.error(error));
Спецификации
| Спецификация |
|---|
| Fetch # response-class |
Совместимость с браузерами
| Настольный | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | |
Response |
40 | 14 | 39 | 27 | 10.1 | 40 | 39 | 27 | 10.3 | 4.0 | 40 |
Response |
4240–42Only available in service workers. |
14 | 39 | 2927–29Only available in service workers. |
10.1 | 4240–42Only available in service workers. |
39 | 2927–29Only available in service workers. |
10.3 | 4.0 | 4240–42Only available in service workers. |
arrayBuffer |
42 | 14 | 39 | 29 | 10.1 | 42 | 39 | 29 | 10.3 | 4.0 | 42 |
blob |
42 | 14 | 39 | 29 | 10.1 | 42 | 39 | 29 | 10.3 | 4.0 | 42 |
body |
43 | 14 | 65 | 30 | 10.1 | 43 | 65 | 30 | 10.3 | 4.0 | 43 |
bodyUsed |
42 | 14 | 39 | 29 | 10.1 | 42 | 39 | 29 | 10.3 | 4.0 | 42 |
bytes |
132 | 132 | 128 | 117 | 18 | 132 | 128 | Нет | 18 | Нет | 132 |
clone |
40 | 14 | 39 | 27 | 10.1 | 40 | 39 | 27 | 10.3 | 4.0 | 40 |
error_static |
43 | 16 | 39 | 30 | 10.1 | 43 | 39 | 30 | 10.3 | 4.0 | 43 |
formData |
60 | 79 | 39 | 47 | 14.1 | 60 | 39 | 44 | 14.5 | 8.0 | 60 |
headers |
40 | 14 | 39 | 27 | 10.1 | 40 | 39 | 27 | 10.3 | 4.0 | 40 |
json |
42 | 14 | 39 | 29 | 10.1 | 42 | 39 | 29 | 10.3 | 4.0 | 42 |
json_static |
105 | 105 | 115 | 91 | 17 | 105 | 115 | 72 | 17 | 20.0 | 105 |
ok |
42 | 14 | 39 | 29 | 10.1 | 42 | 39 | 29 | 10.3 | 4.0 | 42 |
redirect_static |
44 | 16 | 39 | 31 | 10.1 | 44 | 39 | 32 | 10.3 | 4.0 | 44 |
redirected |
57 | 16 | 49 | 44 | 10.1 | 57 | 49 | 43 | 10.3 | 8.0 | 60 |
status |
40 | 14 | 39 | 27 | 10.1 | 40 | 39 | 27 | 10.3 | 4.0 | 40 |
statusText |
40 | 14 | 39 | 27 | 10.1 | 40 | 39 | 27 | 10.3 | 4.0 | 40 |
text |
42 | 14 | 39 | 29 | 10.1 | 42 | 39 | 29 | 10.3 | 4.0 | 42 |
type |
40 | 14 | 39 | 27 | 10.1 | 40 | 39 | 27 | 10.3 | 4.0 | 40 |
url |
40 | 14 | 39 | 27 | 10.1 | 40 | 39 | 27 | 10.3 | 4.0 | 40 |
См. также
© 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