Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.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 为什么在ajax中发送数据时需要_token:token?_Javascript_Ajax_Laravel - Fatal编程技术网

Javascript 为什么在ajax中发送数据时需要_token:token?

Javascript 为什么在ajax中发送数据时需要_token:token?,javascript,ajax,laravel,Javascript,Ajax,Laravel,首先,很抱歉英语不好,解释不好, 我已经用脚本编写了ajaxsetup $.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } }); 还有头部的元标记 meta name="csrf-token" content="{{ csrf_token() }}&quo

首先,很抱歉英语不好,解释不好, 我已经用脚本编写了ajaxsetup

 $.ajaxSetup({
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        }
    });
还有头部的元标记

meta name="csrf-token" content="{{ csrf_token() }}"
但为什么下面的mdata需要包含令牌的_令牌才能运行

var token = $('meta[name="csrf-token"]').attr('content');
var mData={ 
  'email' :$('input[name=email]').val(),
  'password' :$('input[name=password]').val(),
  'remember_me' :$('input[name=remember_me]').is(':checked'),
  _token : token    // WHY DO I NEEED THIS
};

$.ajax({
type: "POST",
url :"/login",
data:mData,

这回答了你的问题吗?如果您询问CSRF令牌的用途,那么这是一个副本。如果你问为什么需要在标题和数据中都包含它,这是一个技巧性的问题,因为你不需要在标题和数据中都包含它both@sta所以我需要在使用Ajax时编写_令牌?如何使其全球化?所以我不需要每天都这么说data@apokryfos那么我应该怎么做才能在标题中调用它呢?因为如果我不在数据中调用它,它将无法正常工作(假设您使用的是正常的内置
VerifyCsrfToken
中间件)。我个人建议不要使用
ajaxSetup
,而是在每个请求中显式地传递它。