0

我有一系列使用 async.waterfall 运行的方法,然后返回结果。我将该结果存储到 request.session 变量中,因为我使用 Ajax 并稍后使用结果。但是,我发现我可以设置会话变量的值,但后来我无法检索它。

这是瀑布的代码。

async.waterfall([
   //Some functions
], function(err, result) {
    request.session.cases = result;
    response.render('template.jade', {
        items : result
    });

然后我对另一个 url 执行 jquery 加载,然后过滤request.session.cases. 但是,我发现这request.session.cases是未定义的!

app.get('/case/:bugid', function(request, response) {
    console.log(request.session.cases); //undefined
}

奇怪的是,我可以设置request.session.cases为除结果之外的任何内容(我什至可以将其设置为result[0]),这样就可以了。在执行 Ajax 调用之前,我还打印了 result 的值,它确实填充了对象数组。

4

1 回答 1

0

cookieSession 的数据量非常小,您可以将其存储在其中。我试图存储的数据对于 cookieSession 来说太大了。因此,我转而使用会话来处理该类型的数据,并使用普通 cookie 进行用户登录。

于 2013-10-29T20:56:03.693 回答