帆JS - 会话

时间:2015-07-14 11:56:52

标签: node.js session sails.js

每次重新加载页面时,我都会运行此功能:

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);

返回正确的值,但我无法弄清楚为什么会话在重新加载每个页面时都不会跟随用户?

1 个答案:

答案 0 :(得分:6)

似乎解决方案就像这样简单:

res.send(req.session);

如果我将其添加到else语句的末尾,会话将被存储并可以重复使用。

为什么会这样,我不知道。如果有人想要精心制作,请成为我的客人。