2015-04-06 115 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>