jquery version: 1.12.4
laravel version: 5.4.*
由于laravel5.0以后版本所有post请求都有
防csrf攻击的token验证
所以每次使用jQuery Ajax请求是都必须加上_token
显然这些代码是重复的,也给我们的开发带来的很大的不便,那么我们如何解决这个问题呢
$.post('/test',{
'_token' : {{ csrf_token() }}
});
解决方案:
- 首先用一个meta标签保存 token值
<meta name="x-csrf-token" content="{{ csrf_token() }}">
- 设置 jquery 的 ajaxSetup 方法
$.ajaxSetup({
headers : {
'X-CSRF-TOKEN' : $("meta[name='x-csrf-token']").attr('content')
}
});
此时在实验,看ajax请求是否还会 TokenMismatchException