用ajax - Laravel将参数传递给雄辩

时间:2015-07-20 20:18:21

标签: php jquery ajax laravel laravel-5

我有一个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作为查询字符串与请求一起传递。但是我无法得到任何回报。下面的图像是每次都转动的。

enter image description here

感谢任何帮助

1 个答案:

答案 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
    }
    //...
});