Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Can';t在注销Laravel后登录_Javascript_Ajax_Laravel - Fatal编程技术网

Javascript Can';t在注销Laravel后登录

Javascript Can';t在注销Laravel后登录,javascript,ajax,laravel,Javascript,Ajax,Laravel,我用javascript开发了一个动态页面(无需重新加载),用户在其中插入一个私人号码。然后我发送一个Ajax请求,手动登录与该号码关联的用户。之后,如果用户希望退出(发送Ajax请求注销),主页将再次登录 复制步骤: 输入Number,单击login,我验证第一次登录是否有效 单击exit,注销工作正常 插入相同或其他号码,然后再次单击“登录”,此时用户未通过身份验证 注意:如果我在退出(注销)后刷新页面,则第二次登录有效 ->向verifyNIF()发送Ajax请求的代码 ->verif

我用javascript开发了一个动态页面(无需重新加载),用户在其中插入一个私人号码。

然后我发送一个Ajax请求,手动登录与该号码关联的用户。

之后,如果用户希望退出(发送Ajax请求注销),主页将再次登录


复制步骤:

  • 输入Number,单击login,我验证第一次登录是否有效
  • 单击exit,注销工作正常
  • 插入相同或其他号码,然后再次单击“登录”,此时用户未通过身份验证

  • 注意:如果我在退出(注销)后刷新页面,则第二次登录有效


    ->向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);
            }
        })
    }