我有一个通用Javascript文件,该文件拦截了页面中触发的所有XHR。我想知道XHR请求中是否存在Access-Control-Expose-Headers
。
我正在尝试为相同来源和跨来源XHR读取自定义响应标头(例如X
)。服务器将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”。
有什么办法可以解决这个问题?