Передача параметров в красноречивый с ajax - Laravel

-1

У меня есть приложение 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 передается как строка запроса с запросом. Однако я ничего не могу вернуть. Ниже изображение - это то, что он поворачивает каждый раз.

Изображение 174551

Любая помощь приветствуется

  • 0
    Просто используйте $.post вместо $.get :)
  • 1
    Ваш URL-адрес $.get() имеет значение valid-kpi-data а заданный путь маршрута Laravel - /validate/valid-kpi-data . Вам не хватает validate/ в начале URL-адреса из запроса AJAX.
Показать ещё 5 комментариев
Теги:
laravel-5

1 ответ

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню