2017-04-18 140 views
1

我做Ajax請求,並把該數據如何從在laravel Ajax請求數據

$.ajax({ 
    url: "{{URL::to('match')}}/"+ id, 
    type: 'PUT', 
    // dataType: 'default: Intelligent Guess (Other values: xml, json, script, or html)', 
    data: { 
    match_id : id, 
    start_time : newTime, 
    competitionId: {{$cid}}, 
    _token:  '{{ csrf_token() }}' 
    } 
}) 

和laravel試圖讓這個數據

dd($request->start_time); 

,但它不工作我我得到空

在Chrome開發者工具 數據與發送Ajax請求正確,這是一個簡單的

match_id:1 
start_time:03:00 
competitionId:1 
_token:9p8plPay7HLvJvMrTgxayEH74Ow6c2D1cli1yU01 

所有這一切工作正常之前,我搬到這個網站到新的服務器

我錯過了任何文件?

+0

嘗試通過$ request-> input獲取參數 - 根據https://laravel.com/docs/5.4/requests#retrieving-input,無論請求方法如何,都應該可以工作。 – CBroe

+0

檢查瀏覽器中的網絡選項卡(Chrome)。 –

+0

我已經使用這種方法。我也嘗試過dd($ request-> all());但得到這[] –

回答

1

它正常工作後,我改變了類型後,然後添加一個字段_method:PUT 即

$.ajax({ 
     url: "{{URL::to('match')}}/"+ id, 
     type: 'POST', 
     // dataType: 'default: Intelligent Guess (Other values: xml, json, script, or html)', 
     data: { 
     _method: 'PUT', 
     match_id : id, 
     start_time : newTime, 
     competitionId: {{$cid}}, 
     _token:  '{{ csrf_token() }}' 
     } 
    }) 
0

型PHP工匠路線:列表

檢查你的路線有例如您

方法=把

烏里=匹配/ {}匹配

名稱= match.update

Action = App \ Http \ Controllers \ MatchController @update //您的方法

路線:

Route::resource('/match', 'MatchController'); 

這是你的Ajax調用:

$.ajax({ 
    url: 'match/'+ id, //this is your uri 
    type: 'PUT', //this is your method 
    data: { match_id:id, start_time:newTime }, 
    dataType: 'json', 
    success: function(response){ 

    } 
}); 

控制器:

public function update(Request $request, $match_id) 
{ 
    if(request()->ajax()){ 
     $match = Match::find($match_id); 
     $validator = Validator::make($request->all(), [ 
     'start_time'=>'required', 
     ]); 

     if($validator->passes()) 
     { 
     $match->start_time = $request->start_time; 
     $match->save(); 

     return response()->json(['msg'=>'Updated Successfully', 'success'=>true]); 
     } 
     return response()->json(['msg'=>$validator->errors()->all()]); 
    } 
} 
+0

我正在使用資源控制器路由::資源('/ match',「MatchController」); –

+0

同樣我使用Route :: resource('/ trademark','TrademarksController'); –

+0

如果您使用的資源路徑,你應該有應用程序\ HTTP \控制器\ MatchController控制器的方法後,@方法 –