我有一系列使用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调用之前,我还打印出了结果的值,并确实填充了一个对象数组。
答案 0 :(得分:0)
cookieSession具有非常小的数据,您可以将其存储到其中。我试图存储的数据对于cookieSession来说太大了。因此,我切换到使用该类型数据的会话,并使用普通cookie进行用户登录。