axios获取响应头

【转载】

来源: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

 

posted @ 2018-12-21 17:09  这个男人  阅读(12029)  评论(1编辑  收藏  举报