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(), передавая ему путь к изображению. Затем мы отправляем запрос, применяя fetch(), извлекаем из ответа объект Blob, используя Response.blob, создаëм объект 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
# ref-for-dom-response-type①

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

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
type

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

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