会话数据每次都存储起来

时间:2017-12-05 16:34:02

标签: javascript node.js express session node-debugger

以下是基本上在会话中存储数据的API(如果尚未存在)则返回空JSON,否则发送与该邮件对应存储的会话数据:

app.use('/session', function(req, res) {
  if (req.body.email in req.session) {
    console.log("user data already available");
    res.send(req.session[req.body.email]);
  } else {
    req.session[req.body.email] = {};
    req.session[req.body.email]["email"] = req.body.email;
    req.session[req.body.email]["gender"] = req.body.gender;
    req.session[req.body.email]["dbname"] = req.body.dbname;
    console.log("user session stored");
    res.send({});
  }
});

以下是我从我的应用程序中创建的ajax调用。这是一个跨域调用,我已相应地设置响应头。

$.ajax({
    url: 'url/session',
    type: "POST",
    crossOrigin: true,
    data: {
      "email": "email",
      "gender": "all",
      "dbname": "dbname"
    },
    success: function(data) {
      console.log("inside session api call success");
      console.log(data)
    }
    });
});

现在的问题是,如果我使用邮递员点击API,它可以正常工作,但是当我在我的应用程序中使用它时,它每次都会覆盖会话并返回空的json。我做错了什么?

编辑:想知道每次ajax调用发生时,过去的会话数据都会被删除所有电子邮件ids.session值被重置但仍然无法弄清楚为什么会发生这种情况。

0 个答案:

没有答案