Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.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/4/fsharp/3.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
Php ajax请求上的令牌不匹配异常Ravel_Php_Laravel_Session_Csrf - Fatal编程技术网

Php ajax请求上的令牌不匹配异常Ravel

Php ajax请求上的令牌不匹配异常Ravel,php,laravel,session,csrf,Php,Laravel,Session,Csrf,如何解释这一点 清洁安装拉维 使用redis进行会话和缓存 只有在windows上启动服务器并且仅在Chrome上显示时,才会出现问题 使用简单的js函数进行ajax调用: $.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }, data: { _token: $('meta[name="csrf-token"]').a

如何解释这一点

  • 清洁安装拉维
  • 使用redis进行会话和缓存
  • 只有在windows上启动服务器并且仅在Chrome上显示时,才会出现问题
  • 使用简单的js函数进行ajax调用:

    $.ajaxSetup({
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        },
        data: {
            _token: $('meta[name="csrf-token"]').attr('content')
        }
    });
    
    for(var i = 0; i < 5; i++){
    
        getUsers();
    }
    
    function getUsers() {
        $.ajax({
            url: '/users',
            type: 'POST',
            success: function(data) {
                console.log(data);
            }
        });
    }
    
    }

  • 在视频的最后,您可以看到随机令牌失配异常,即使令牌从未更改,但有时会发生错误

  • 我知道这个问题多年来一直在讨论,但为什么不存在一个解决方案呢


    我也在laravel github上发布了帖子,但没有一个解决方案没有解决我的问题。

    为什么要发送两次令牌?从
    $.ajaxSetup()中删除该数据部分


    你为什么用POST来获取用户?改用GET。

    这是一个示例。假设我将在该帖子/用户上插入内容。错误将会发生。从我的测试中,我刚刚发现只有在我单击“记住我”时才会出现问题标记失配异常。(我取下其中一个令牌并发送了一次)。这实际上不是对作者问题的回答。
    $users = User::all();
    
    return response()->json([
        'users' => $users,
    ]);