在Node.js中设置cookie值

Jav*_*ano 29 javascript cookies node.js express

我正在开发一个带有node.js和express的网站.如何设置cookie值?

Jon*_*ski 39

由于Express是基于Connect构建的,因此您可以使用cookieParser中间件以及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);
});
Run Code Online (Sandbox Code Playgroud)

[更新]

从Express 4.0开始,Express 将不再包含Connect,默认的中间件已经移入自己的包中,包括cookie-parser.

  • 我也有同样的问题.当我替换app.use(express.cookieParser()); app.use(require('connect').cookieParser()); 有Set-Cookie:currentId = b8RuviEVAytniu62; 在响应标题中.但是当我尝试使用req.cookies.currentId访问它时,我得到了未定义. (2认同)
  • 实际上,`res.cookie()`并不一定需要`cookie-parser`。 (2认同)

MT.*_*MT. 5

您可以使用表达提供的响应对象来设置Cookie.

您可以在http://expressjs.com/en/api.html#res.cookie找到有关如何执行此操作的详细信息

  • 这个!!正是这个!我的同事花了很多时间搜索"快速会话写cookie",他们只是不打扰通过Express的文档. (2认同)