laravel ajax POST请求 错误 TokenMismatchException in VerifyCsrfToken.php (line 68)

2017-09-28 21:15:44来源:CSDN作者:yang_yang1994人点击

分享

因为:laravel 默认开启了 csrf验证

下面有几种方法解决:
1.

 <form id="editForm">                {{ csrf_field() }}               ....

2.

<form id="editForm">                <input type="hidden" name="_token" value="{csrf_token()}"/>               ....

注意 :其实第一和第二是一码事 第一种方式只不过 laravel给你封装了一下。

上面都是针对form表单提交

下面看一下不是表单的形式提交数据

3.

 $.ajax({            type: "post",            url: "{{ route('edit_msg') }}",            dataType: "json",            data: {'msg':newMsg, 'type':str, '_token': "{!! csrf_token() !!}"},            error:function(msg){ //处理出错的信息                    var errormessage="再试一次";                    $(".loginerror").html(errormessage);                },              success: function(data) {                }         });

注意后面的data提交的数据 _token字段。

4.我们也可以在ajax请求头添加X-CSRF-Token

<meta name="_token" content="{!! csrf_token() !!}"/>$.ajax({            type: "post",            url: "{{ route('edit_msg') }}",            dataType: "json",            headers: { 'X-CSRF-Token' : $('meta[name=_token]').attr('content') },            data: {'msg':newMsg, 'type':str},            error:function(msg){ //处理出错的信息                    var errormessage="再试一次";                    $(".loginerror").html(errormessage);                },              success: function(data) {                }         });

最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台