2015-04-06 114 views
1

没有得到表单数据我正在更新/创建记录。无论何时我试图使用$ .ajax发送数据 - put,表单输入数据在服务器上是空的,但我可以看到数据在请求有效负载中发送。laravel 5把请求 - >所有()和输入::所有()

请帮帮我吗?

EDIT

表单代码

<form action="{{ route('dishes_update',$dish_detail->id) }}" action="post" class="form-horizontal" enctype="multipart/form-data" accept-charset="UTF-8"> 
      <input name="_method" value="PUT" type="hidden"/> 
      <input name="_token" type="hidden" value="{{ csrf_token() }}"/> 


    </form> 

Ajax的逻辑

$('#dish_create_form form').submit(function(evnt){ 
      evnt.preventDefault(); 
      myformdata = new FormData(this); 
      $.ajax({ 
       url: $(this).attr('action'), 
       type: "PUT", 
       data: myformdata ,//+ $(this).serialize(), 
       processData: false, 

       contentType:'x-www-url-formurlencoded', 
       success: function (res) { 
        //alert(res); 
        myformdata = false; 
        $('#panel_body').html(res); 
       } 
      }); 

    }); 

控制器

public function update(Request $request, $dish_details_id) 
{ 
     // validation check 
     //dd($_POST); 
     // dd($request->input('cuisine_id')); 
     dd($request->all(), Input::all()); 
} 
+0

您可以发布您的Ajax和bacend laravel代码? – Arlind 2015-04-06 09:53:13

+0

你发送为json吗? – alioygur 2015-04-06 09:53:18

+0

你最好在问题中包含你的代码。 – mininoz 2015-04-06 09:54:04

回答

-1

尝试检查数据之前发送

var myformdata = $(".form-horizontal").serialize(); 
console.log(myformdata); 
+0

这不是问题的解决方案,而是调试提示 – 2016-09-07 09:38:48

1

改变这种

<form action="{{ route('dishes_update',$dish_detail->id) }}" method="post" class="form-horizontal" enctype="multipart/form-data" accept-charset="UTF-8"> 
      <input name="_method" value="PUT" type="hidden"/> 
      <input name="_token" type="hidden" value="{{ csrf_token() }}"/> 
</form>