所以我使用CodeIgniter框架使用下面的javascript注销用户:
//If logged in:
$('#logout').click(function() {
$.ajax({url:'/auth/logout',
success: function(data){
$('#navigation').html(data);
},
error: function(jqXHR, textStatus, errorThrown)
{
document.write(errorThrown);
}
});
location.reload(true);
});
只要我注释掉location.reload(true);,此代码成功调用auth / logout函数并将用户注销,这可以在我手动刷新页面时看到。但是,重新加载活动时,cookie不会被删除,用户也会保持登录状态。如何在重新加载页面之前确保删除cookie?
答案 0 :(得分:2)
您需要将重新加载放在成功函数中,如下所示:
$.ajax({url:'/auth/logout',
success: function(data){
$('#navigation').html(data);
location.reload(true);
},
error: function(jqXHR, textStatus, errorThrown)
{
document.write(errorThrown);
}
});
当请求是异步时,您正在同步重新加载页面,这意味着在AJAX完成之前重新加载。