【问题标题】:How to prevent session from overwriting another session如何防止会话覆盖另一个会话
【发布时间】:2018-05-04 06:02:55
【问题描述】:

我正在尝试制作一个简单的网站来请求您的电子邮件。 但是,当我在 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}));

【问题讨论】:

  • 一个浏览器的不同标签页共享同一个会话,不能在两个不同标签页打开两个fb账号,需要从一个注销。
  • 谢谢!我以为是这样,只是在 2 个不同的浏览器(chrome 和 firefox)上测试过,它可以工作

标签: node.js session express express-session


【解决方案1】:

“保存未初始化:假” 只是因为在当前记录未修改之前它不会创建新记录。它覆盖.. 这是我的想法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-19
    • 2012-03-17
    • 1970-01-01
    • 1970-01-01
    • 2012-01-03
    • 2015-11-30
    相关资源
    最近更新 更多