【发布时间】:2017-06-04 03:06:49
【问题描述】:
我正在使用标记 withCredentials = true 执行 /login POST 请求。并且响应是预期的,如果我使用 Chrome Dev Tools -> Network 检查,我可以看到一个名为 Set-Cookie 的响应标头,其中包含以下内容:
Set-Cookie:JSESSIONID=1944a870623c3499ea938df17a5g; Path=/; Secure; HttpOnly
但是……
cookie 没有在浏览器中创建 ???? (如果我也不刷新页面)。顺便说一句:在 Postman 中创建 cookie...
我正在通过 Angular v.2.4.2
理论上cookie会自动创建,不是吗?顺便说一句,我无法访问 Set-Cookie 响应标头:
const options = new RequestOptions({ headers, withCredentials: true });
const body = `username=${username}&password=${password}`;
return this.http.post(`${host}${basePath}/login`, body, options)
.do(r => {
console.log(r.headers.get('Set-Cookie')); // Nothing… :( Only I can access to Content-Type header
})
.map(r => r.json())
我想这是正常的,如果理论上cookie会被自动创建,但没有被创建......
为什么没有创建 cookie?我该如何解决?
非常感谢! ???
【问题讨论】:
-
你的cookie不是http-only吗?
-
是的@MaciejSobala。理论上cookie会自动创建,对吧?为什么没有创建?
-
我将问题编辑得更清楚
标签: javascript http angular cookies