Javascript Cookie未正确读取或设置
因此,我的Express应用程序中有一条路由,其中包含两个中间件:Javascript Cookie未正确读取或设置,javascript,node.js,cookies,express,postman,Javascript,Node.js,Cookies,Express,Postman,因此,我的Express应用程序中有一条路由,其中包含两个中间件: app.foo('/thisRoute',fancyMiddleware.one,fancyMiddleware.two); 两个中粮区都运转良好。然而,在fancyMiddleware.one中,我有以下内容: var one = function(req, res, next) { ... ... res.cookie('myCookie', data, {maxAge: 3600000}); console.l
app.foo('/thisRoute',fancyMiddleware.one,fancyMiddleware.two);
两个中粮区都运转良好。然而,在fancyMiddleware.one中,我有以下内容:
var one = function(req, res, next) {
...
...
res.cookie('myCookie', data, {maxAge: 3600000});
console.log(req.cookies.myCookie)
return next();
}
来测试我所有的请求
req.cookies.myCookie
的记录输出总是返回undefined
。但是在Body标签中,我可以看到cookie是存在的
如果我在fancyMiddleware.two中注销同一个cookie
它也未定义
为什么返回未定义?
编辑:所以,有了一些关于“为什么”的答案,我现在意识到我也应该问:
如何读取刚设置的cookie?
在fancyMiddleware.one
中设置后,我实际上并不需要它,但在fancyMiddleware.two中我确实需要它
编辑2:我忘了提到我正在使用Express 3设置。可能相关 您正在响应对象res
上设置cookie,但您正在请求req
中请求cookie 执行cookie解析器中间件时,req.cookie
仅填充一次
立即设置Set Cookie
标题,因此您必须使用res.get('Set-Cookie')
查看当前值。因此在我的服务器中我有app.use(connect.cookieParser())代码>设置。据我所知,app.use()
使包含的任何中间件在每条路由上都能启动。我还尝试将第二个中间件移动到另一个路由,然后在第一个路由结束时重定向到第二个路由(认为这会导致cookie解析器启动)。然而,同样的结果