如何在Laravel中拆分或分离序列化表单数据

时间:2018-02-28 16:49:09

标签: javascript php jquery ajax laravel

当我使用JQuery提交我的模态表单时。我使用serialize()方法接收表单数据,然后使用AJAX将其发送到我的控制器方法。但在我的控制器中,我希望从这些数据中访问单个值,但我无法取消序列化此数据。我怎么能这样做?

这是我的JQuery Part。

  $('#btnSave').on('click',function(){
     var data = $('#form').serialize();
     $.ajax({
       url:"{{route('product.update')}}",
       method:'post',
       data:{data:data,'_token':"{{csrf_token()}}"},
       success:function(data)
       {
         console.log(data);

       }
     });

这是我的控制器方法。

  public function update(Request $request)
{
  $data=$request->all();
  $title=$data['title']
    return $title;

}

这是我的输出。

  

对象{data:“product_id = 1& title = Prof。& description = Amet%20rem%20autem%20doloremque%20expedita%20consequatur%20quos。%20Dolore%20veritatis%20in%20expedita%20consequatur%20porro。%20Quaerat% 20voluptate%20et%20non%20quia。%20Possimus%20recusandae%20voluptates%20sequi。& price = 93040“,_token:”trqOM0WJDUY8rf00K75S1O6AAOn84r6aG3hQ1Jhp“}

2 个答案:

答案 0 :(得分:1)

您正在嵌套参数,请尝试此操作

$('#btnSave').on('click',function(){
  var data = $('#form').serialize();
  $.ajax({
    url:"{{route('product.update')}}",
    method:'post',
    data:data+'&_token={{csrf_token()}}',
    success:function(data)
    {
      console.log(data);

    }
  });
});

答案 1 :(得分:0)

$ request是一个对象而不是数组

<强> JS

success:function(msg){
console.log(msg);
}

只是为了确保它没有尝试传递发送到控制器的数据var

<强>控制器

public function update(Request $request)
{
  $title=$request->title;
  return $title;
}