繁体   English   中英

apollo-client没有响应头

[英]apollo-client has no headers in response

我有一个graphql api和一个带有apollo客户端的vue.js前端,用于从后端请求数据。 它到目前为止工作正常。

服务器在每个响应头中使用新的JWT-Token进行应答,这是我需要的。 因此,解决方案应该是简单..一个afterware后者从每个响应新的密钥,并更新相应存储条目。 但是 ..标题是空的。

这是后期件:

apolloClient.networkInterface.useAfter([{
    applyAfterware({ response }, next) {
        if (process.env.NODE_ENV === 'development') {
            console.log('got new response', response);
        }
        if (response.status === 401) {
            store.commit('logout');
            store.commit('routeLogin');
        }
        next();
    }
}]);

以下是响应的外观:

devtools console.log的截图

以下是实际发送的内容:

在此输入图像描述

我错过了什么吗?

UPDATE

在问题跟踪器中发现了类似的情况,它通过添加Access-Control-Expose-Headers 所以我将它们添加到我的服务器配置中。 现在响应看起来像这样,而apollos头对象仍然是空的:

在此输入图像描述

您必须删除{}。

从:

applyAfterware({res}, next) {

至:

applyAfterware(res, next) {

现在你得到了完整的标题信息。

apolloClient.networkInterface.useAfter([{
applyAfterware(res, next) {
        console.log("response:", res.options.headers);
        if (res.response.status === 401) {
            store.commit('logout');
            store.commit('routeLogin');
            // logout();
        }
        next();
    }
}]);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM