Php Laravel ajax表单422不可处理实体
我正在尝试验证并提交一份来自Laravel 5.2网站的表格 问题来了,当我试图提交表单时,没有填写所有必填字段。StoreRequest检查哪些字段是必需的,并返回如下错误:Php Laravel ajax表单422不可处理实体,php,jquery,ajax,laravel-5,Php,Jquery,Ajax,Laravel 5,我正在尝试验证并提交一份来自Laravel 5.2网站的表格 问题来了,当我试图提交表单时,没有填写所有必填字段。StoreRequest检查哪些字段是必需的,并返回如下错误: {"name":["The name field is required."],"email":["The email field is required."],"subject":["The subject field is required."],"content":["The content field is re
{"name":["The name field is required."],"email":["The email field is required."],"subject":["The subject field is required."],"content":["The content field is required."]}
以下是我提交表单的方式以及显示验证错误的方式:
$("#contact_form").submit(function() {
$.post("{{ url('contact/store/')}}", {"_token": "{{ csrf_token() }}" },
function(data) {
if(data) {
var items = [];
$.each( data, function( key, val ) {
items.push( "<li id='" + key + "'>" + val + "</li>" );
});
$( "<ul/>", {
"class": "my-new-list",
html: items.join( "" )
}).appendTo("#errors");
}
});
return false;
});
$(“#联系表格”)。提交(函数(){
$.post({url('contact/store/')},{u-token:{{csrf\u-token()}}},
功能(数据){
如果(数据){
var项目=[];
$。每个(数据、函数(键、值){
items.push(“”+val+“ ”);
});
$(“
”{
“类”:“我的新列表”,
html:items.join(“”)
}).附于(“#错误”);
}
});
返回false;
});
422是一个不可处理的实体,Laravel的请求验证会告诉您缺少某些内容
您的ajax请求只发送CSRF令牌,响应告诉您:名称、主题和内容是必填字段
如果您还没有添加,请在HTML{!!csrf_field()!!}
中将其添加到表单中。将动作放在表单中要有效得多,这样可以静态使用表单,也意味着不必将Blade放在javascript中
表格示例:
<form id="contact_form" action="{{ url('contact/store') }}" method="post">
<!-- Form stuff -->
{!! csrf_field() !!}
</form>
{!!csrf_field()!!}
JS示例:
$("#contact_form").submit(function() {
$.post(
$(this).attr('action'),
$(this).serializeArray(),
function(data) {
if(data) {
var items = [];
$.each( data, function( key, val ) {
items.push( "<li id='" + key + "'>" + val + "</li>" );
});
$( "<ul/>", {
"class": "my-new-list",
html: items.join( "" )
}).appendTo("#errors");
}
});
});
$(“#联系表格”)。提交(函数(){
美元邮政(
$(this.attr('action'),
$(this).serializeArray(),
功能(数据){
如果(数据){
var项目=[];
$。每个(数据、函数(键、值){
items.push(“”+val+“ ”);
});
$(“
”{
“类”:“我的新列表”,
html:items.join(“”)
}).附于(“#错误”);
}
});
});
那会有什么问题?当我提交表单时,我得到422个不可处理的实体,并且我无法向用户显示错误消息您没有发送任何表单数据,只是发送令牌。而val
是一个数组。这是真的,但是当我发送空数据时,我得到了相同的错误