如何知道是否存在Access-Control-Expose-Header?

时间:2019-04-29 12:41:16

标签: javascript cors xmlhttprequest response-headers

我有一个通用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”。

有什么办法可以解决这个问题?

0 个答案:

没有答案