如何防止会话覆盖另一个会话

时间:2017-01-02 09:45:27

标签: node.js session express express-session

我正在尝试创建一个请求您的电子邮件的简单网站。 但是,当我在2个不同的标签上打开我的页面并插入2个不同的电子邮件时,第二个会覆盖第一个。

app.get('/', function(req, res){
    sess = req.session;
    res.render('index.ejs');
});

app.get('/sending-email', function(req, res){
    sess = req.session;
    sess.email = req.query.to;
    res.end('done');
});

app.get('/someButtonClicked', function(req, res){
    sess = req.session;
    console.log(sess.email);
});

也就是说,在两个选项卡上,无论何时单击按钮,“console.log(sess.email)”仅打印出最新的电子邮件。如何制作以便打印相应的电子邮件?任何链接/帮助将不胜感激,谢谢。

以下是我正在使用的模块。

var session = require('express-session');
var connect = require('connect');
var SQLiteStore = require('connect-sqlite3')(session);
...
app.use(session({secret: 'blah', 
    resave: false, 
    saveUninitialized: true, 
    store: new SQLiteStore}));

1 个答案:

答案 0 :(得分:0)

" saveUninitialized:false"  只是因为在当前记录没有修改之前它没有创建新记录。它覆盖.. 我的想法。