我使用的內存存儲基本節點快遞會話設置和我在服務器上的代碼:Session變量不會持續到下一個請求
app.use(require('express-session')({
secret: 'keyboard cat',
resave: false,
saveUninitialized: true,
cookie: { secure: true }
}));
app.post('/api/logIn', function(req, res) {
req.session.userName = req.body.userName;
}
app.get('/api/getProfile', function(req, res) {
User.findOne({'userName' : req.session.userName},
function (err, userProfile) {
console.log('getProfile executed for user:' + req.session.userName);
if (err) throw err;
console.log(userProfile);
});
});
的問題是即req.session.userName from getProfile route is undefined,雖然它不在之前的登錄路由請求中。我檢查了HTTP頭,奇怪的是沒有處理來自服務器或客戶端的cookie的頭文件。現在我不知道可能是什麼問題。
服務器沒有使用HTTPS,所以有一個錯誤。但是,當我將該選項更改爲false時,同樣的問題仍然存在:(。 –
您是否正在使用'body-parser'? – Patosai
是的,這些都是我正在使用的所有中間件:app.use(express.static(__ dirname ('body');}}; app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended:true })); app.use(require('express-session ')({... –