我可以将会话变量设置为立即输出,但是如果我再次访问路由(甚至不刷新页面),则var再次变得不确定。我想念什么?即使页面已刷新,如何保存var?
在app.js中
var session = require('express-session');
app.use(session({secret: 'asecret',
cookie: {
path: '/',
expires: false, // Alive Until Browser Exits
httpOnly: true
}}));
在Index.js中
var sess ="";
router.get('/getSubmit', function(req, res){
var socket = req.app.get('socketio');
sess = req.session;
sess.avar = "stuff";
console.log(sess.avar); //prints
console.log(sess.test); //will not ever print although has been set
if (sess.test == undefined) {
sess.test = "stuff";
console.log(sess.test); //prints
}
}
最佳答案
当您使用socket.io时,添加:
sess.save(function(err) {
})
到最后。