Response: свойство type

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

Доступное только для чтения свойство type интерфейса Response содержит тип ответа. Его возможные значения:

  • basic: Стандартный ответ того же источника со всеми заголовками, за исключением "Set-Cookie".
  • cors: Ответ был получен от корректного кросс-доменного запроса. Возможен доступ к к некоторым заголовкам и телу.
  • error: Сетевая ошибка. Нет полезной информации, описывающей ошибку. Статус ответа — 0, заголовки пусты и неизменяемы. Это тип ответа, получаемого из Response.error().
  • opaque: Ответ на запрос с параметром mode: "no-cors" к кросс-доменному ресурсу. Статус ответа — 0, заголовки и тело пустые.
  • opaqueredirect: Ответ на запрос с параметром redirect: "manual". Статус ответа — 0, заголовки и тело пустые.

Примечание: Ответ "error" фактически никогда не вернётся, такой ответ от fetch() приведёт к отклонению промиса.

Значение

Строка ResponseType, указывающая на тип ответа.

Примеры

В нашем примере Fetch Response (живой пример) мы создаëм новый экземпляр объекта Request с помощью конструктора Request() (en-US), передавая ему путь к изображению. Затем мы отправляем запрос, применяя fetch(), извлекаем из ответа объект Blob, используя Response.blob (en-US), создаëм объект URL с помощью URL.createObjectURL() и отображаем результат в теге <img>.

Заметьте, что в верхних строках блока fetch() мы выводим в консоль значение type из ответа.

js
const myImage = document.querySelector("img");

const myRequest = new Request("flowers.jpg");

fetch(myRequest)
  .then((response) => {
    console.log("response.type =", response.type); // response.type = 'basic'
    return response.blob();
  })
  .then((myBlob) => {
    const objectURL = URL.createObjectURL(myBlob);
    myImage.src = objectURL;
  });

Спецификации

Specification
Fetch Standard
# ref-for-dom-response-type①

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также