在ExpressJs中设置Cookie失败

我在Express 4.x中遇到问题.x我无法设置任何cookie。 我想通过Ajax请求设置一个cookie,我做请求,我的服务器端res.cookie()被执行,在我的响应标题,我可以find我的具有特定名称和值的“set-cookie”头,但没有发生,cookie没有注册。 我没有HttpOnly或安全标志。

Cookie设置示例:

res.cookie('my_cookie','value',{maxAge:500,secure:false,httpOnly:false}); 

我注意到的是,如果我设置maxAge 500例如,我的cookie到期date从响应头约5小时前,所以我试图增加一个更大的值,但没有发生。

这就像我的set-cookie头被忽略。 我不使用AngularJS,只是jQuery。

如果我把js控制台中的set.cookie内容放在document.cookie中,这个cookie就被注册了。

预先感谢,并为我的英语不好而感到遗憾。

版本4.0为更模块化的架构从库中移除了很多便利中间件; 在这种情况下,您需要引用cookieparsing器中间件。 没有它req.cookies只是一个空的{}.

$npm install cookie-parser

 var express = require('express') var cookieParser = require('cookie-parser') var app = express() app.use(cookieParser()) 

您还需要它来签署Cookie:

在这里输入图像描述