您的位置:首页 > 编程语言 > PHP开发

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

2017-09-28 11:21 225 查看
因为: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) {
}
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ajax csrf laravel form表单
相关文章推荐