前端使用 Axios 拦截器获取不到后端响应头信息,如何解决?

前端使用 axios 拦截器获取不到后端响应头信息,如何解决?

获取不到响应头信息的解决方案

前端使用 axios 拦截器获取后端响应头信息时,可能会遇到无法获取全部头信息的现象。这是因为在跨域请求中,后端需要在响应头中返回一个 access-control-expose-headers 头,来定义哪些头信息可以被前端访问。

具体解决方法如下:

// 后端代码中
response.setheader("access-control-expose-headers", "access-token");

通过设置 access-control-expose-headers 头,前端拦截器就可以正常获取指定的头信息了。

完整示例

// axios 响应拦截
axiosInstance.interceptors.response.use(
  (res) => {
    console.log(res.headers);
  }
);

// 后端代码中
response.setHeader("Access-Control-Expose-Headers", "Access-Token");

这样一来,前端拦截器就能获取到 access-token 头信息了。

以上就是前端使用 Axios 拦截器获取不到后端响应头信息,如何解决?的详细内容,更多请关注硕下网其它相关文章!