Laravel419错误-ajax 请求错误解决办法(CSRF 验证)两种解决办法。选择适合⾃⼰的。
第⼀种解决⽅法
适⽤于可以把js 写在不被laravel 框架渲染的js ⽂件中的操作
1.在页⾯上添加  <meta name="csrf-token" content="{{ csrf_token() }}"》
2.然后在页⾯的script 标签中添加$.ajaxSetup({headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')}});
ajax实例里面的函数第⼆种解决⽅法
适⽤于改部分js 可以实际被laravel 框架解析的操作
$.ajaxSetup({headers: {'X-CSRF-TOKEN': "{{ csrf_token() }}"}});
3.如果你提交的页⾯是html 的form 页⾯的话,
你只需要在你的form 表单⾥⾯填写上下⾯的⼀段就⾏啦
<form method="POST" action="/profile">    {{ csrf_field() }}    ...</form>4.如果你是在页⾯⾥⾯设置了ajax 的请求
你只需要在页⾯的ajax 请求⾥⾯设置_token 即可,
// 封装提交的记录的函数    function  sendLog(type){        $.ajax({            type: 'POST',            url: '/log',            data: {'share_type': type, 'url_info': shareLink, 'invitation_code': '{{$invitation_code}}', '_token':'{{csrf_token()}}'},            dataType: 'json',            success: function ($rtn ){                console.log($rtn );            }        });    }
两种解决办法。选择适合⾃⼰的。
第⼀种解决⽅法
适⽤于可以把js 写在不被laravel 框架渲染的js ⽂件中的操作
1.在页⾯上添加
2.然后在页⾯的script 标签中添加
第⼆种解决⽅法适⽤于改部分js 可以实际被laravel 框架解析的操作3.如果你提交的页⾯是html 的form 页⾯的话,
你只需要在你的form 表单⾥⾯填写上下⾯的⼀段就⾏啦
或者
1 <meta name="csrf-token" content="{{ csrf_token() }}"》
1$.ajaxSetup({headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')}});
1$.ajaxSetup({headers: {'X-CSRF-TOKEN': "{{ csrf_token() }}"}});
1234<form method="POST" action="/profile">    @csrf    ...</form>
1234<form method="POST" action="/profile">    {{ csrf_field() }}    ...</form>
4.如果你是在页⾯⾥⾯设置了ajax的请求
你只需要在页⾯的ajax请求⾥⾯设置_token即可,
1 2 3 4 5 6 7 8 9 10 11 12// 封装提交的记录的函数
function sendLog(type){
$.ajax({
type: 'POST',
url: '/log',
data: {'share_type': type, 'url_info': shareLink, 'invitation_code': '{{$invitation_code}}', '_token':'{{csrf_token()}}'}, dataType: 'json',
success: function($rtn){
console.log($rtn);
}
});
}