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

时间:2017-02-14 03:03:43

标签: javascript node.js google-chrome

响应标题是

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

cookie格式正确(使用cookie包序列化)。服务器由node.js开发。

不仅是Chrome,Firefox也不起作用。 document.cookie是空的,我也无法在chrome开发工具的应用程序部分看到cookie。

响应标题有错吗?请帮忙。

2 个答案:

答案 0 :(得分:0)

由于服务器到客户端的多个响应,会出现此问题。

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

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

答案 1 :(得分:0)

答案是因为我使用的fetch()API必须通过{credentials => '同源'}选项。