【转载】
来源:https://segmentfault.com/a/1190000009125333
在用 axios 获取 respose headers 时候获取到的只有的
Object {
cache-control:"private, must-revalidate",
content-type:"application/json"
}
下面是服务器返回的响应头, 我需要拿到的是 Authorization
使用 respose.headers 拿到的只用两个默认的headers, 尝试了使用捕获响应头的方法
axios.interceptors.response.use(function (response) {
// Do something with response data
console.log(response);
return response;
}, function (error) {
// Do something with response error
return Promise.reject(error);
});
结果打印出来的还是
Object {
cache-control:"private, must-revalidate",
content-type:"application/json"
}
找了半天问题, 后面的在一个论坛找到了解决方法
原来在默认的请求上, 浏览器只能访问以下默认的 响应头
-
Cache-Control
-
Content-Language
-
Content-Type
-
Expires
-
Last-Modified
-
Pragma
如果想让浏览器能访问到其他的 响应头的话 需要在服务器上设置 Access-Control-Expose-Headers
Access-Control-Expose-Headers : 'Authorization'
前端成功获取Authorization