【发布时间】:2012-08-27 17:50:05
【问题描述】:
我正在使用 node.js 和 express 开发一个网站。如何设置 cookie 值?
【问题讨论】:
标签: javascript node.js express cookies
我正在使用 node.js 和 express 开发一个网站。如何设置 cookie 值?
【问题讨论】:
标签: javascript node.js express cookies
您可以只使用 express 提供的响应对象来设置您的 cookie。
您可以在以下网址找到有关如何执行此操作的详细信息:http://expressjs.com/en/api.html#res.cookie
【讨论】:
由于 Express 是基于 Connect 构建的,因此您可以使用 cookieParser middleware 和 req.cookies 来读取并使用 res.cookie() 来写入 cookie:
// configuration
app.use(express.cookieParser());
// or `express.cookieParser('secret')` for signed cookies
// routing
app.get('/foo', function (req, res) {
res.cookie('bar', 'baz');
// ...
});
app.get('/bar', function (req, res) {
res.send(req.cookies.bar);
});
[更新]
从 Express 4.0 开始,Connect will no longer be included with Express 和默认中间件 have been moved into their own packages,包括 cookie-parser。
【讨论】:
cookie-parser 对于res.cookie() 来说实际上并不是必需的
cookie-parser 对于req.cookies.bar 是必需的,否则 express 将无法解析浏览器传递的 cookie。