【发布时间】:2020-09-29 10:42:04
【问题描述】:
我需要向定义为的资源路由发送 PUT 请求:
Route::resource('posts','PostController');
我的代码可以像这样正常工作:
var data = $(this).serializeArray();
data.push( {name:'_token',value:"{{ csrf_token() }}" })
$.ajax({
type: "Put",
url: _url,
data: data,
dataType: "json",
success: function (response) {
if(response.status){
toastr.success(response.msg);
}
else{
toastr.warning(response.msg);
}
},
});
但是当我不得不通过路由发送文件时问题就来了,因为我不得不将我的提交函数修改为:
var data = new FormData(this);
data.append("_token","{{ csrf_token() }}");
var _url = $(this).attr('action');
$.ajax({
type: "Put",
url: _url,
data: data,
dataType: "json",
processData: false,
contentType: false,
success: function (response) {
if(response.status){
toastr.success(response.msg);
}
}
我遇到了异常消息“CSRF 令牌不匹配”。这是因为我使用了FormData() 吗?
【问题讨论】:
标签: ajax laravel csrf laravel-6.2 csrf-token