我有一个ajax调用命中一个post路由,它使用npm包' client-sessions'来实例化一个cookie的会话。路由后的响应是重定向ajax调用在done函数中执行的URL:
.done(function(response){
console.log(response);
response = JSON.parse(response);
if(response["redirect"]){
window.location.href = response["redirect"];
}
});
在此重定向之后,客户端浏览器向重定向URL发出get请求,当发生这种情况时,进入服务器的请求不再具有与请求关联的会话对象,但它们仍然是cookie(不知道为什么cookie没有实例化req.session对象。)
我还在reddit中询问过它: https://www.reddit.com/r/node/comments/3syi8z/clientsessions_mozilla/
会话管理员的github回购我正在使用: https://github.com/mozilla/node-client-sessions
谢谢你!
编辑:我发现我创建的会话大小大约为11158字节 - 超过了最大cookie大小(4k)。我确信这会影响我的体验,但我还不确定。将很快更新。 编辑2:哦,是的,这肯定搞砸了。 Cookie属性甚至无法正确设置。浏览器可能只是正确拒绝它,但不确定在全栈流中究竟发生了什么。