Jquery laravel ajax中更新的状态419

Jquery laravel ajax中更新的状态419,jquery,ajax,laravel-5,Jquery,Ajax,Laravel 5,对于我的更新函数,我得到的错误是419。有些东西工作不正常;下面是index.blade.php中的ajax函数 $('#action1').click(function (){ var Ids = new Array(); var Names = new Array(); var Status = new Array(); if($(".selected").lengt

对于我的更新函数,我得到的错误是419。有些东西工作不正常;下面是index.blade.php中的ajax函数

   $('#action1').click(function (){
               var Ids = new Array();
               var Names = new Array();
               var Status = new Array();
               if($(".selected").length){
                $(".selected").each(function(){
                  Ids.push($(this).children(".id").html());
                  Names.push($(this).children(".company_name").html());
                  Status.push($(this).children(".status").html());
                });
                $.ajax({
                  url: 'update',
                  method:'POST',
                  dataType: 'json',
                  "id":Ids,
                  "company_name":Names,
                  "status":Status,
                  success: function(data){
                    $('#form1').html(data.success);
                  }
                  });
                // alert(Ids);
                // alert(Names);
                // alert(Status);

               }else{
                alert("No row is selected.");
               }
            });
这是我的控制器文件:

 public function update(Request $request)
{
    $ids = $request->input('Ids');
    $success_output = '';
      $companies = companies::find($ids);
      companies::whereIn('id',$ids);
      $this->validate($request,
        ['company_name' => 'required',
            'status' => 'required',
        ]);
      $companies->company_name = $request->Names;
      $companies->status = $request->Status;
      $companies->save();
      $success_output = '<div class="alert alert-success">Data Inserted</div>';

        $output = array(
                'errror' => $error_array,
                'success' => $success_output
            );
            echo json_encode($output);
      return redirect('/companies')->with('success','updated');
}

我想一次更新多行,但更新功能可能不起作用。有人能提出任何解决方案吗?

您应该发送csrf\u令牌

使用此代码,将csrf令牌设置为所有ajax请求

$.ajaxSetup({
headers: {
    'X-CSRF-TOKEN': 'your csrf token'
}
});

将控制器更改为此

 public function update(Request $request)
 {
$ids = $request->input('id');
$success_output = '';
  $companies = companies::find($ids);
  companies::whereIn('id',$ids);
  $this->validate($request,
    ['company_name' => 'required',
        'status' => 'required',
    ]);
  $companies->company_name = $request->input('company_name');
  $companies->status = $request->input('status');
  $companies->save();
  $success_output = '<div class="alert alert-success">Data Inserted</div>';

    $output = array(
            'errror' => $error_array,
            'success' => $success_output
        );
        echo json_encode($output);
  return redirect('/companies')->with('success','updated');
  }

可能您的csrf令牌因后端问题无效错误500,数据已成功发送,显示错误500 laravel在/storage/logs文件夹中有日志文件。请检查我的控制器文件,可以吗?它在公司名称和状态中显示无效数据。
 public function update(Request $request)
 {
$ids = $request->input('id');
$success_output = '';
  $companies = companies::find($ids);
  companies::whereIn('id',$ids);
  $this->validate($request,
    ['company_name' => 'required',
        'status' => 'required',
    ]);
  $companies->company_name = $request->input('company_name');
  $companies->status = $request->input('status');
  $companies->save();
  $success_output = '<div class="alert alert-success">Data Inserted</div>';

    $output = array(
            'errror' => $error_array,
            'success' => $success_output
        );
        echo json_encode($output);
  return redirect('/companies')->with('success','updated');
  }
 $('#action1').click(function (){
           var Ids = new Array();
           var Names = new Array();
           var Status = new Array();
           if($(".selected").length){
            $(".selected").each(function(){
              Ids.push($(this).children(".id").html());
              Names.push($(this).children(".company_name").html());
              Status.push($(this).children(".status").html());
            });
            $.ajax({
              url: 'update',
              method:'POST',
              dataType: 'json',
              data:{
              "id":Ids,
              "company_name":Names,
              "status":Status,
              },

              success: function(data){
                $('#form1').html(data.success);
              }
              });
            // alert(Ids);
            // alert(Names);
            // alert(Status);

           }else{
            alert("No row is selected.");
           }
        });