您好,我有以下控制器方法可以将数据返回到 Laravel 中的数据表,
控制器方法
public function get(Request $request) {
return Datatables::of(AppUser::all())
->addColumn('status', function ($user) {
if ($user->status == 1) {
return '<span class="label label-success">Active</span>';
} else {
return '<span class="label label-danger">Inactive</span>';
}
})
->addColumn('actions', function ($user) {
return view('backend.appuser.actionButton', compact('user'))->render();
})
->make(true);
}
然后在我渲染数据表的视图中,我有以下代码。
<table id="users-table" class="table table-condensed table-hover">
<thead>
<tr>
<th>Username</th>
<th>NIC</th>
<th>Mobile</th>
<th>Status</th>
<th>Actions</th>
</tr>
</thead>
</table>
在我的脚本标签中,我有以下代码
$(function() {
$('#users-table').DataTable({
processing: true,
serverSide: true,
ajax: {
url: '{{ route("admin.app-access.user.get") }}',
type: 'get',
data: {status: 1, trashed: false}
},
columns: [
{data: 'email', name: 'email'},
{data: 'nic', name: 'nic'},
{data: 'mobile', name: 'mobile'},
{data: 'status', name: 'status'},
{data: 'actions', name: 'actions'}
],
pageLength:25,
lengthMenu:[[10,25,50,100,-1],[10,25,50,100,"All"]],
order: [ [ 0, "desc" ] ],
dom: "lBfrtip",
buttons:
[
{extend: 'excel', footer: true, title: 'User Details'},
{extend: 'pdf', footer: true, title: 'User Details', orientation: 'landscape', pageSize: 'LEGAL'},
{extend: 'print', footer: true, title: 'User Details', orientation: 'landscape', pageSize: 'LEGAL'}
],
searchDelay: 500
});
});
错误 当我转到加载数据表的索引页面时,它显示 DataTables 警告:表 id=users-table - 无效的 JSON 响应。有关此错误的更多信息,请参阅http://datatables.net/tn/1
我试过的
- 我尝试在上述控制器方法中犯一点语法错误,以查看应用程序是否崩溃。如果应用程序崩溃,这意味着从数据表发送的请求必须命中我的控制器方法。(应用程序实际上崩溃了,所以来自数据表的请求来到了我的控制器方法。)
- 我转到
network
我的开发人员工具中的选项卡并检查从数据表发送的请求的响应。响应为空。它只显示三个空行。由于响应为空,我无法弄清楚错误是什么。
(我正在使用 Laravel 5.4)