使用jQuery从ID中查询Controller

时间:2017-06-12 08:55:17

标签: jquery json ajax laravel datatables

我正在尝试从ID中获取数据表并将其显示在数据表中。

使用jQuery,我有下一个功能:

var info = function(tbody, table){
$(tbody).on("click","a[id=ButtonMas]", function(){
        if(table.row(this).child.isShown()){
            var data = table.row(this).data();
        }else{
            var data = table.row($(this).parents("tr")).data();
        }

        var pc = data["id"];
        route = "/historico/"+pc+"";

        $('#ModalInfoEquipos').modal('show');

        var dt_historico = $('#t_historico').DataTable({
            "ajax": {
                "url": route,
                "dataSrc": ""
                },
            "columns": [
                { "data": "created_at" },
                { "data": "estado" },
                { "data": "ubicacion" },
                { "data": "empleado" },
                { "data": "f_asignacion" },                    ],
            "language": {
                    "url": "//cdn.datatables.net/plug-ins/9dcbecd42ad/i18n/Spanish.json"
                },
            "scrollX": true,
        });
});
}

在我的Controller中,我实现了下一个索引:

public function index(Request $request, $id)
{
    if ($request->ajax()) {
        $historico = HistoricoEquipos::Consulta($id);
        return response()->json($historico);
    }
    return view('historico.index');
}

但是我的回复 - > json得到的是空的不正确。

在我的模型中,我实现了我的函数Consulta:

public static function Consulta($id){
    return DB::table('historico_equipos')
        ->select('historico_equipos.*')
        ->where('id_equipo', $id)
        ->get();
}

我收到了下一个请求,需要为我的查询取第一个值(1):

Request - Chrome Inspector

错误在哪里?

感谢。

1 个答案:

答案 0 :(得分:1)

我的路线定义中有错误。

我改变了这个:

Route::resource('historico','HistoricoEquiposController')

对此:

Route::resource('historico','HistoricoEquiposController', ['except' =>['index']]);
Route::get('historico/{historico}', 'HistoricoEquiposController@index')->name('historico.index');

在@Shaz的帮助下。感谢。