【发布时间】:2021-03-19 09:11:20
【问题描述】:
- 我已经在标题视图中添加了代码,如下所示
<head>
<meta name="csrf-token" content="{{ csrf_token() }}">
</head>
- 我的ajax代码如下
$.ajaxSetup({
headers:
{
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
method: "POST",
url: "{{ route('ProgresOps.store') }}",
data: form_data,contentType: false, // The content type used when sending data to the server.
cache: false, // To unable request pages to be cached
processData: false,
})
.done(function(data){
toastr.success('Data saved.');
});
但是当我提交数据的时候结果是csrf mismatch,我没有找到解决办法
exception: "Symfony\Component\HttpKernel\Exception\HttpException"
file: "C:\xampp74new\htdocs\swms\vendor\laravel\framework\src\Illuminate\Foundation\Exceptions\Handler.php"
line: 208
message: "CSRF token mismatch."
【问题讨论】:
-
你的 Ajax 代码在刀片模板中吗?
-
是的,视图刀片内部的 javascript
-
尝试在 ajax 函数本身内添加标头。
-
我试过了,结果还是一样的CSRF token不匹配
-
ProgresOps 是资源路线吗?如果是,那么为什么要添加 Route::post('/store', 'ProgresOpsController@store')->name('store'); ?
标签: php ajax laravel csrf-token