1

Datatables 对它请求的 json 不做任何事情

我正在使用 Yajra 的数据表来填充我的表格,并且我按照书本做了所有事情。控制器设置正确,路由很好(如果我输入指定给创建数据库的控制器函数的路由,我可以看到所需格式的所需 json:

{"draw":0,
 "recordsTotal":44,
 "recordsFiltered":44,
 "data":[{
          "agency":"agency",
          "number":"20966512",
          "name":"Name John",
          "value":"28.22",
        }]
}

这是我用来创建数据表的 .js 代码:

$(document).ready(function() {
  $('#tbl').DataTable({
    processing: true,
    serverSide: true,
    ajax: '{!! route("datatable") !!}',
    columns: [
        {data: 'agency', name: 'agency'},
        {data: 'number', name: 'number'},
        {data: 'name', name: 'name'},
        {data: 'value', name: 'value'},
    ]
  });
});

我收到一条错误消息:

DataTables 警告:表 id=tbl - Ajax 错误。有关此错误的更多信息,请参阅http://datatables.net/tn/7

当我查看控制台时,我收到以下错误:

{
"message": "",
"exception": "Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException",
"file": "/home/vagrant/Projects/Uniqa-ACB/vendor/laravel/framework/src/Illuminate/Routing/RouteCollection.php",
"line": 179,
"trace": etc...
}

Laravel 5.8,PHP 7.3,Yajra DT:6,datatables.net:1.10

提前谢谢您,如果您需要更多代码,我很乐意输入。

4

2 回答 2

1

用这个替换ajax

ajax: {
    "url": "{!! route("datatable") !!}",
    "type": "POST",
  }
于 2019-04-12T08:57:03.093 回答
0

尝试访问的路由包含带有一些奇怪编码的完整 json,我直接将路由更改为“/datatables”,如下所示,我还将帖子类型指定为 GET,现在正在填充表。谢谢你。

于 2019-04-12T09:24:18.273 回答