Javascript Can';t在注销Laravel后登录
我用javascript开发了一个动态页面(无需重新加载),用户在其中插入一个私人号码。然后我发送一个Ajax请求,手动登录与该号码关联的用户。之后,如果用户希望退出(发送Ajax请求注销),主页将再次登录Javascript Can';t在注销Laravel后登录,javascript,ajax,laravel,Javascript,Ajax,Laravel,我用javascript开发了一个动态页面(无需重新加载),用户在其中插入一个私人号码。然后我发送一个Ajax请求,手动登录与该号码关联的用户。之后,如果用户希望退出(发送Ajax请求注销),主页将再次登录 复制步骤: 输入Number,单击login,我验证第一次登录是否有效 单击exit,注销工作正常 插入相同或其他号码,然后再次单击“登录”,此时用户未通过身份验证 注意:如果我在退出(注销)后刷新页面,则第二次登录有效 ->向verifyNIF()发送Ajax请求的代码 ->verif
复制步骤:
注意:如果我在退出(注销)后刷新页面,则第二次登录有效
->向verifyNIF()发送Ajax请求的代码
->verifyNIF()验证数据库上的数字,然后对用户进行身份验证
Auth::login($user);
->注销()函数,使用Laravel强化注销路径
function logout(){
$.ajax({
url: '/logout',
type: "POST",
success: function () {
console.log("logged out");
// location.reload();
},
error: function (data) {
console.log(data);
}
})
}
在前端,CSRF令牌在使用ajax请求注销后变得无效。您可以添加新端点以手动刷新CSRF令牌。我想这对你有帮助 如果包含代码,您可能会得到更好的帮助我已经用代码更新了我的问题:)您能演示一下身份验证是如何工作的吗?我的意思是,如何将对laravel后端的请求识别为来自经过身份验证的用户?http头中是否共享令牌?也许是饼干?刷新csrf令牌这解决了问题,干净的解决方案,感谢您的解释!
function logout(){
$.ajax({
url: '/logout',
type: "POST",
success: function () {
console.log("logged out");
// location.reload();
},
error: function (data) {
console.log(data);
}
})
}