2015-07-20 26 views
-1

我有一個laravel應用程序,當我點擊表格單元格內的鏈接時,我想獲得一些ajax數據。我想要做的是傳遞一個參數用於雄辯的查詢。這裏是JavaScript:將參數傳遞給與ajax雄辯 - Laravel

$('#monthly_table tbody').on('click', 'td.details-controls', function() { 
     var tr = $(this).closest('tr'); 
     var row = table.row(tr); 
     //row.data().kpi_id -> the parameter to be passed 
     $.get('valid-kpi-data?kpi_id='+row.data().kpi_id, function(data){ 
      console.log(data); 
     }); 
}); 

這裏是route.php

Route::get('/validate/valid-kpi-data', function(){ 
    if(Request::ajax()){ 
     $id = $_POST('kpi_id'); //this is the parameter i want to be passed 
     $year = Carbon::now()->subYear()->format('Y'); 
     $kpis = DB::table('reports') 
         ->where('year', '>=', $year) 
         ->where('is_validated', 1) 
         ->where('kpi_id',$id) 
         ->take(25) 
         ->orderBy('month', 'desc') 
         ->get(); 
     return Response::json($kpis); 
    } 
}); 

我已經在幾個方面嘗試這樣做,我知道id被作爲查詢字符串與請求通過。但是我無法得到任何回報。下面的圖片是它每次轉動的東西。

enter image description here

任何幫助表示讚賞

+0

只需使用'$。員額'而不是'$ .get' :) – Hackerman

+1

你的'.get()'URL路徑是'valid-kpi-data '而定義的Laravel路徑路徑是'/ validate/valid-kpi-data'。您錯過了AJAX請求中網址開頭處的「validate /」。 – Bogdan

+0

@Hackerman如果我使用'$ .post',它會拋出'錯誤405方法不允許' – xhulio

回答

1

你可以試試這個:

$.getJSON('validate/valid-kpi-data/'+row.data().kpi_id, function(data){ 
     console.log(data); 
}); 

然後改變路線聲明,如下所示:

Route::get('/validate/valid-kpi-data/{kpi_id}', function($id){ 
    if(Request::ajax()){ 
     // $id is available now so use $id in where clause 
    } 
    //... 
});