【发布时间】:2013-10-30 04:56:03
【问题描述】:
我有一系列使用 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 的值,它确实填充了一个对象数组。
【问题讨论】:
-
我使用的是 cookieSession,无论出于何种原因,它都无法做到这一点(也许它太大了)。我改为使用会话,现在很好
标签: javascript node.js session express async.js