javascript - 无法在 Express 4 中获取要通过请求发送的 cookie

标签 javascript session cookies express express-4

这是我的初始配置:

var session         = require('express-session');
var cookieParser    = require('cookie-parser');
app.use(session({
  saveUninitialized: true,
  resave: false,
  genid: function(req) {
    return Services.misc.generateUUID()
  },
  secret: secret.toString()
}));
app.use(cookieParser(secret));

然后在我的 Controller 中(它通过一个简单的路由器路由到 Controller ,然后根据类似 Rails 的命名约定呈现适当的操作)我将执行以下操作:

var TestController = {
  noaction: function(req, res) {
    var locals = {
      billy: 'the goat'
    }

    console.log('req session'.red, req.session);
    res.cookie('test_cookie', 'Wu Tang Clan');

    this.services.render.view(req, res, this, 200, locals);
  }

module.exports = TestController;

请注意,this.services.render.view只是一项服务,因此我不必编写res.render('./app/controllers' + controller + '/' + Action )

注意 Controller 中的 res.cookie 行 ( docs on express.js )。这就是官方文档所说的,事实上,它是在浏览器中设置的:

enter image description here

但是,res.cookie 上面的行是一个日志,我想其中会有 test_cookie ,但是:

enter image description here

我每次得到的只是一个标准的空白 cookie,即使它是在浏览器端设置的并且应该发送。

我的问题是:如何在 Express 4 中正确设置和接收 cookie?

最佳答案

答案如下:每次 nodemon 重新启动服务器以传播代码更​​改时, session 都会被清除。

关于javascript - 无法在 Express 4 中获取要通过请求发送的 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29179291/

相关文章:

javascript - AJAX/jQuery 生成的输入无法被其他 jQuery 脚本识别

Javascript if 语句小于 'x' 数组中的对象不显示数据

php - 每次执行session_start时都有不同的 session ID

c# Asp.net 获取在 javascript 中设置的 Cookie 过期时间总是返回 01.01.0001

cookies - 将机器 key 从旧服务器上的 iis 6 迁移到新服务器上的 iis 7

cookies - Dart/Flutter 身份验证实现

php - 在支持对象方法作为映射函数的javascript中实现映射?

javascript - TypeOf undefined 而不是与 undefined 进行比较?

ruby-on-rails - 我们是否需要在用户注销后删除 session 变量?

php - Symfony2 中的 Zend Framework 1 应用程序 - session 问题