我在mongo商店的ExpressJS处理会话上运行了带有“ express-session”的应用程序。当我通过浏览器发出常规的http请求以加载页面时,我可以在服务器上看到正确的cookie,如下所示:
console.log(req.headers.cookie) // connect.sid=s%3ABC....
当我在同一页面上进行AJAX调用并且在服务器上看到类似以下内容时,就会出现问题:
console.log(req.headers.cookie) // connect.sid=s%3DEF; connect.sid=s%3GHI; connect.sid=s%3ABC
因此,似乎AJAX在请求中发送了具有相同名称的旧Cookie,导致服务器将数据添加到错误的会话中。
在第一个请求上,将cookie设置如下:
set-cookie: connect.sid=s%3ABC...; Path=/; Expires=Wed, 20 Jun 2018 19:40:59 GMT; HttpOnly
任何想法这怎么会发生?