因为:laravel 默认开启了 csrf验证
<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",headers: { 'X-CSRF-Token' : $('Meta[name=_token]').attr('content') },'type':str},success: function(data) {
}
});