У меня есть общий файл Javascript, который перехватывает все XHR, запущенные на странице.Я хочу знать, присутствует ли Access-Control-Expose-Headers
в запросе XHR.
Я пытаюсь прочитать настраиваемый заголовок ответа (скажем, X
) для XHR одного и того же источника и перекрестного происхождения.Сервер устанавливает Access-Control-Expose-Headers
для X
для XHR, попадающих на этот сервер.
XHR, попадающие на этот сервер, могут быть как одинакового, так и перекрестного происхождения.
Но могут быть и другие запросы перекрестного происхождения, затрагивающие другие серверы, на которых Access-Control-Expose-Headers
не установлен для X
.
Как узнать, присутствует ли Access-Control-Expose-Headers
для X
, или сам заголовок X
присутствует?
Я пробовал следующие вещи
try {
xhr.getResponseHeader("Access-Control-Expose-Headers");
} catch (e) {
console.log(e);
}
и
try {
xhr.getResponseHeader("X");
} catch (e) {
console.log(e);
}
Оба подхода недойти до блока catch «Отказано в получении небезопасного заголовка Access-Control-Expose-Headers» или «Отказ в получении небезопасного заголовка X».
Можно ли как-нибудь решить эту проблему?