Spec-Zone.ru › Web APIs

Ответ

Базовая Широко доступна *

Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с марта 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 42
40–42Only available in service workers.
14 39 29
27–29Only available in service workers.
10.1 42
40–42Only available in service workers.
39 29
27–29Only available in service workers.
10.3 4.0 42
40–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
10.1The method exists but always rejects with NotSupportedError. See bug 215671.
60 39 44 14.5
10.3The method exists but always rejects with NotSupportedError. See bug 215671.
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

См. также

  • ServiceWorker API
  • HTTP access control (CORS)
  • HTTP

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API