apollo-client无回应
问题描述:
我有一个graphql api和一个vue.js前端,用于从后端请求数据的apollo client。到目前为止它工作正常。apollo-client无回应
服务器在每个响应头中都有一个新的JWT-Token,这是我需要的。所以解决方案应该很简单..一个afterware从每个响应获取新密钥并更新相应的存储条目。 但是 ..标头是空的。
这里是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();
}
}]);
下面是响应的样子:
,这里是事实上已发送的内容:
我错过了什么吗?
UPDATE
我发现它已经解决了通过添加Access-Control-Expose-Headers
一个similar case in the issue tracker。所以我将它们添加到我的服务器配置中。现在的反应是这样的,亚波罗标题对象仍然是空的:
答
您必须删除{}。
来自:
applyAfterware({res}, next) {
到:
applyAfterware(res, next) {
,现在你得到充分的headerinformation。
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();
}
}]);
我看到我在'res.options.headers'中的请求显示中发送的自定义标头。我认为@ gordon-freeman正在寻找响应标题......我看到了同样的问题.. –