4

我在 node js 和 express 4 中遇到 express-session 问题。我在 routes/index.js 中设置了一个会话变量,并且在 app.js 中不可用。但在另一个路由文件 users.js 中可用

路线/index.js

var sess;
router.get('/setsession',function(req,res){
    sess=req.session;
    sess.username="safeer"; 
    res.send("hi "+sess.username);
});

router.get('/getsession',function(req,res){
    sess=req.session;
    res.send("hi "+sess.username); //here session value available
});

路线/users.js

var sess;
router.get('/session3',function(req,res){
    sess=req.session;
    res.send("hi "+sess.username); // here also session is available
});

应用程序.js

var session = require('express-session');
app.use(session({secret: 'secret',saveUninitialized: true,resave: true}));

var sess;
app.get('/session1',function(req,res){
    sess=req.session;
    res.send("hi "+sess.username); //here session is undefined
});
app.use('/', routes);
app.use('/users', users);

谁能给我一个解决方案。?

4

1 回答 1

2

我建议你在会话中设置用户名:

在路线/index.js

router.get('/setsession',function(req,res){
       req.session.username="safeer"; 
       res.send("hi "+ req.session.username);
});

在 app.js 中

app.get('/session1',function(req,res){
    res.send("hi "+ req.session.username); //get from session. Can be set in variable too

});

于 2015-06-03T10:55:27.507 回答