Экспресс-сессия, определенная в одном файле маршрута, недоступна в app.js Node JS
У меня проблема с express-session в узле js и express 4. Я установил переменную сеанса в routs/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
});
app.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);
Может кто-нибудь дать мне решение, пожалуйста.?
1 ответ
Решение
Я предлагаю вам установить имя пользователя в сессии:
В маршрутах /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
});