【发布时间】:2015-09-09 13:55:57
【问题描述】:
我正在尝试将 datatables 插件与 laravel 一起使用,因为我需要管理大表,而 laravel 分页不够好。
我正在使用yajra/laravel-datatables 组件,但我无法让它工作,它会引发错误:
DataTables 警告:table id=project-table - Ajax 错误。 有关此错误的更多信息,请参阅http://datatables.net/tn/7
看了之后不知道怎么解决,我很确定和我的路由有关系,因为我不太明白ajax是怎么获取结果的。
这就是我所做的:
routes.php
Route::controllers([
'projects' => 'ProjectController'
]);
ProjectController.php(只是获取数据的函数)
public function getDataTable()
{
$projectes = Project::select(['id', 'nom', 'desc', 'preu', 'hores', 'created_at']);
return Datatables::of($projectes)->make(true);
}
观点:
<table id="project-table" class="table table-condensed table-bordered table-striped">
<thead>
<tr>
<th>#</th>
<th>Titol</th>
<th>Desc</th>
<th>Preu</th>
<th>Hores</th>
<th>Data Alta</th>
</tr>
</thead>
</table>
最后是js:
$(function() {
$('#project-table').DataTable({
processing: true,
serverSide: true,
ajax: '{{ url("projects/getDataTable") }}',
columns: [
{data: 'id', name: 'id'},
{data: 'nom', name: 'nom'},
{data: 'desc', name: 'desc'},
{data: 'preu', name: 'preu'},
{data: 'hores', name: 'hores'},
{data: 'created_at', name: 'created_at'}
]
});
});
【问题讨论】:
-
您是否按照帮助页面中的调试步骤进行操作?你得到什么错误代码?
-
是的,我忘了说,我收到错误代码 500
-
“……因为我需要管理大表,而 laravel 分页不够好。”为什么?这正是分页的用途。
-
是的,确实,但我更喜欢带有数据表插件的 ajax 方法。它具有许多功能,例如排序和过滤,可以对所有记录进行开箱即用
标签: php ajax laravel datatable