我有一个laravel应用程序,当我单击表格单元格中的链接时,我想获取一些ajax数据。我想要做的是传递一个参数,用于一个雄辩的查询。这是javascript:
$('#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
作为查询字符串与请求一起传递。但是我无法得到任何回报。下面的图像是每次都转动的。
感谢任何帮助
答案 0 :(得分: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
}
//...
});