Ответ: свойство redirected
Базовая реализация Широко доступна
Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с марта 2017 года.
Примечание: Эта функция доступна в Web Workers.
Только для чтения свойство redirected интерфейса Response указывает, является ли ответ результатом запроса, который был перенаправлен.
Примечание: Использование redirected для фильтрации перенаправлений делает возможным подделку перенаправления, что может привести к неправильной работе вашего контента. Вместо этого, фильтрацию следует выполнять при вызове fetch(). См. пример Отказ от перенаправлений, где это показано.
Значение
Логическое значение, которое true если ответ указывает, что ваш запрос был перенаправлен.
Примеры
Обнаружение перенаправлений
Проверка того, получен ли ответ от перенаправленного запроса, сводится к проверке этого флага в объекте Response. В приведенном ниже коде текстовое сообщение вставляется в элемент, когда во время операции fetch произошло перенаправление. Однако следует отметить, что это не так безопасно, как прямое отклонение перенаправлений, если они не ожидаются, как описано ниже в разделе Отказ от перенаправлений.
Свойство url возвращает окончательный URL после перенаправлений.
fetch("awesome-picture.jpg")
.then((response) => {
const elem = document.getElementById("warning-message-box");
elem.textContent = response.redirected ? "Unexpected redirect" : "";
// final url obtained after redirects
console.log(response.url);
return response.blob();
})
.then((imageBlob) => {
const imgObjectURL = URL.createObjectURL(imageBlob);
document.getElementById("img-element-id").src = imgObjectURL;
});
Отказ от перенаправлений
Поскольку использование redirected для ручного отбора перенаправлений может привести к подделке перенаправлений, вы должны вместо этого установить режим перенаправления на "error" в параметре init при вызове fetch(), как показано ниже:
fetch("awesome-picture.jpg", { redirect: "error" })
.then((response) => response.blob())
.then((imageBlob) => {
const imgObjectURL = URL.createObjectURL(imageBlob);
document.getElementById("img-element-id").src = imgObjectURL;
});
Спецификации
| Спецификация |
|---|
| Fetch # ref-for-dom-response-redirected① |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
redirected |
57 | 16 | 49 | 44 | 10.1 | 57 | 49 | 43 | 10.3 | 8.0 | 60 |
См. также
© 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/redirected