【新手求教】express-session 保存的问题

app.use(session({
    resave: true,
    saveUninitialized: true,
    secret: 'yunBaby',
    cookie: {
        maxAge: 1000 * 60 * 30
    }
}));
......
router.get('/', function (req, res, next) {
    console.log(req.sessionID);
    console.log(req.session.name);
    if (req.session.name != null) {
        res.render('index', {title: req.session.name});
    }else{
       res.render('index', {title: '测试'});
    }
}).post('/', function (req, res) {
    ........
    if (user != null && user != "" && !pswd != null && pswd != "") {
        res.render('login', {title: "登录成功!"});
        req.session.name = user;
        console.log(req.sessionID);
        console.log(req.session.name);
    } else {
        res.render('login', {title: "用户名和密码不能为空!"});
    }
});

为啥get那里的session就是没有name,提交post之后session是成功设置了name,但是每次刷新时,get到的session的name都是 undefined . 而且输出的sessionID是一样的。

阅读 4.8k
3 个回答

req.session.save();

这个项目里的server(目录,可单独做为一个后台项目)就已经解决了session存储的问题,不需要用数据库来存储session,使用的是系统默认的session。https://github.com/chudongvip...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题