快递会话不会持久 [英] Express session not persisting
问题描述
我正在尝试在节点中设置基本会话系统。这是我到目前为止所做的:
I'm trying to set up a basic session system in node. Here's what I've got so far:
app.js:
app.use(express.cookieParser('stackoverflow'));
app.use(express.session());
我在ajax.js中设置会话数据:
I'm setting the session data in ajax.js:
addClassToCart: function(req, res) {
req.session.cart = req.body.classId;
console.log(req.session.cart);
}
这会记录正确的信息。但是,当我尝试在其他地方检索该信息时(相同的文件,不同的功能):
This logs the correct information. However, when I try to retrieve that information elsewhere (same file, different function):
console.log(req.session.cart);
我得到未定义
。我觉得我错过了一些非常基本的东西。各种各样的教程要么太糟糕要么要求我添加更多的包(我正试图避免)。
I get undefined
. I feel like I'm missing something incredibly basic. Various tutorials for this are either awful or require me to add in even more packages (something I'm trying to avoid).
我调试的更多数据:
- 这适用于非AJAX请求
- 会话在记录之前设置。
推荐答案
事实证明,问题不在于Express会话(因为其他答案似乎在想)。相反,这是我的误解。我将 addClassToCart
更改为以下内容:
As it turns out, the issue wasn't with Express' session (as the other answers seem to think). Rather, it was a misunderstanding on my part. I changed addClassToCart
to the following:
addClassToCart: function(req, res) {
req.session.cart = req.body.classId;
console.log(req.session.cart);
res.send('class added');
}
添加 res.send()
解决了问题。
这篇关于快递会话不会持久的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!