Javascript 为什么在ajax中发送数据时需要_token:token?
首先,很抱歉英语不好,解释不好, 我已经用脚本编写了ajaxsetupJavascript 为什么在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({
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
,而是在每个请求中显式地传递它。