Php Laravel ajax表单422不可处理实体

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

我正在尝试验证并提交一份来自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 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
      是一个数组。这是真的,但是当我发送空数据时,我得到了相同的错误