欢迎光临
我们一直在努力

Laravel的CSRF,419错误我所遇到的最强的坑给填写了。

由于只知道AJAX要CSRF验证,但是系统从5.4升级到5.5出问题,5.4下一切正常,5.5却出现419错误。

发现js代码里写的全部如下,都是一些配置项,因为5.4版本下都正常也没有多想这些代码,最终还是这里出问题了

"lengthMenu": [
                    [10, 20, 50, 100, 150, -1],
                    [10, 20, 50, 100, 150, "All"] // change per page values here
                ],
                "pageLength": 10, // default record count per page
                "ajax": {
                    "url": ajax_url, // ajax source
                },

 

最后在ajax配置项里加上了

 "headers": { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }

或者:

headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }

或者从表单获取

headers : {
                    'X-CSRF-TOKEN': $("input[name='_token']").val()
                },

 

根据实际情况配置,有的是加引号,有的不加引号,

即:

                "ajax": {
                    "url": ajax_url, // ajax source
                    "headers": { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }
                },

一下子,就把419错误解决了。以下是终极解决方案,只要出现laravel出现419错误,就先去检查CSRF,

FORM表单,记得加{{ csrf_field()}}

 

赞(0)
版权归原作者所有,如有侵权请告知。达维营-前端网 » Laravel的CSRF,419错误我所遇到的最强的坑给填写了。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址