在发布此处之前,我已阅读并尝试了之前关于该主题的所有问题。 我有很多页面都以相同的方式工作(会话被保存) 但我有这一页,它不是,我无法弄清楚为什么......
我有这个功能:
function saveuser(){
uId = $('#userId').val();
f = $('#firstName').val();
l = $('#lastName').val();
u = $('#firstname').val();
p = $('#password').val();
e = $('#email').val();
ph = $('#phone').val();
usernamee = $('#username').val();
$.ajax({
type:"POST",
url:"/registerp",
data:{
userId:uId,
firstName:f,
lastName:l,
password:p,
phone:ph,
email:e,
username:usernamee
},
success:function(data){
if(data.success){
showNotification({
message: "Profile saved successfully.",
autoClose: true,
type: "success",
duration: 3
});
}
else
{
showNotification({
message: "Failed to save profile.",
autoClose: true,
type: "error",
duration: 3
});
}
}
});
}
我撤回的所有信息也都放在session
的页面上。
当我调用此POST
时,req.session
将重置为空,并且所有数据都会消失。
httponly=false
其他页面工作正常,其中一些页面功能相似, 我在这做错了什么?
答案 0 :(得分:1)
我设法解决了这个问题。 我知道除非服务器向客户端返回内容,否则不会保存会话。
好吧,我在同一个POST上使用重定向到另一个页面。 我认为重定向是客户端的一种GET,这是我的错误。 我通过返回一些随机项来解决它
res.send({success:true});对于那个AJAX函数,并补充说如果javascript中的success = true,那么我将从同一个操作执行GET调用。
解决了它。