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);
}
});
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论