响应头中的Set-Cookie未保存到浏览器cookie存储中。

4
响应头是:
Access-Control-Allow-Credentials:true
Access-Control-Allow-Headers:Origin, X-Requested-With, x-request, Content-Type, Accept
Access-Control-Allow-Origin:*
Cache-Control:private
Connection:close
Content-Length:100
Content-Type:application/json; charset=utf-8
Date:Tue, 14 Feb 2017 02:45:56 GMT
Server:nginx/1.2.8
Set-Cookie:USER=6ae633831f39447688892e6b2b156cec; Max-Age=604800; Path=/
Set-Cookie:USERINFO=298967; Max-Age=604800; Path=/
X-Powered-By:node.js
X-Ua-Compatible:chrome=1

饼干格式正确(使用饼干包进行序列化)。服务器是由node.js开发的。

不仅Chrome,Firefox也无法工作。document.cookie为空,而且我看不到Chrome开发者工具的应用程序部分中的cookie。

响应头有错误吗?请帮忙。

2个回答

0

这个问题是由服务器向客户端发出多个响应引起的。

例如,如果您正在使用response.send()向服务器发送响应,并同时使用 您正在使用response.setHeader()

可以通过使用JavaScript在客户端创建cookie,并从node.js中读取其值来解决此问题。


0
答案是因为我使用了fetch() API,必须传递{credentials => 'same-origin'}选项。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接