每次重新加载页面时,我都会运行这个函数:
init: function(req, res)
{
console.log("Session: ");
console.log(req.session);
if (req.session.player_id !== undefined)
{
Player.getPlayer(req.session.player_id);
}
else
{
req.session.player_id = sails.uuid.v4();
req.session.save();
console.log("Session saved");
Player.createPlayer(req.session.player_id);
console.log("Creating player: " + req.session.player_id);
}
}
问题是每次我跑
console.log("Session: ");
console.log(req.session);
player_id 不存在,每次重新加载页面时,if 语句都会返回 false。
console.log("Creating player: " + req.session.player_id);
返回正确的值,但我不明白为什么每次页面重新加载时 session 都没有跟随用户?
最佳答案
看起来解决方案就这么简单:
res.send(req.session);
如果我将此添加到 else 语句的末尾, session 将被存储并可以重新使用。
为什么会这样,我也不知道。如果有人想详细说明,请成为我的客人。
关于node.js - Sails JS - session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31405910/