前端通过响应头获取后端传输的信息

工作中碰到后端在请求头中带的信息,需要前端获取这个信息。原本可能只是自己的知识盲区,又可以直接获取后端接口请求头中的api,差了很多资料都没与找到相关的资料。又请教了公司的大佬,大佬们也没听说过这样的做法。
所以和后端同学商量了下,让他放在接口的响应头中前端再来获取。于是后端同学将我所需的信息通过响应头传递给我,前端项目是用vue + axios:我在axios的响应拦截器中拦截响应。

   axios.interceptors.response.use(function (response) {    
        console.log(response);
        console.log(response.headers);
        return response;
    }, function (error) {    
        return Promise.reject(error);
    });

打印出的response.headers 中只有morning的content-type 和 charset ,并没有后端传递给我的信息。经查资料后发现,reponse.header 中只能获取浏览器默认的响应头,如果是后端自己设置的响应头,还需要后端在服务器上设置 是否暴露某响应头,于是后端加上了设置语句:

Access-Control-Expose-Headers : 'guid';

再次查看console信息,发现已经可以成功获取后端放置在响应头中的信息。

Logo

前往低代码交流专区

更多推荐