我正在使用angularja和angular 8开发一个混合的angular应用程序。我试图实现一个需要在登录后使用POST请求设置的cookie,但问题是登录后,cookie POST请求被成功调用,cookie在网络选项卡的响应头中可见,但在响应头中不可见,在应用程序选项卡中导航到cookie时也不可见,一个cookie没有被存储。我已经尝试了所有可能的解决方案,但无济于事。任何可能的解决方案
登录成功后实现cookie的逻辑
fetch(glAccountsUrl+`/api/oauth/v3/cookie`, {
'method': 'POST',
'credentials': 'include',
'headers': { 'Authorization': `Bearer ${JSON.parse(localStorage.getItem('jwt.token'))}`,'Content-Type': 'application/json','Access-Control-Allow-Credentials': true },
'body': JSON.stringify(cookieObj)
})
.then((response) => {
return response.json();
})
.then((data)=>{
console.log(data.message);
})
}
字符串
截图
的数据
的
的
1条答案
按热度按时间wmvff8tz1#
看起来Set-Cookie在fetch调用中被过滤掉了,就像这里的规范一样。
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie
警告:浏览器阻止前端JavaScript代码访问Set-Cookie标头,这是Fetch规范所要求的,该规范将Set-Cookie定义为禁止的响应标头名称,必须从暴露给前端代码的任何响应中过滤掉。
我没有任何关于你可以使用的替代方案的建议,我认为如果你使用 Package XMLHttpRequest的东西,这种行为是不同的。