【问题标题】:DataTables json is not processed (in Laravel)DataTables json 未处理(在 Laravel 中)
【发布时间】:2019-09-02 23:58:18
【问题描述】:

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

我正在使用 Yajra 的 Datatables 来填充我的表格,并且我按照书本做了所有事情。控制器设置正确,路由很好(如果我输入指定给创建数据库的控制器函数的路由,我可以看到所需格式的所需 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, 亚吉拉 DT:6, 数据表网:1.10

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

【问题讨论】:

  • 所以,NotFoundHttpException - 在您的后端找不到东西。向您展示控制器方法或您在哪里处理数据。
  • @Tarasovych NotFoundHttpException 表示 Laravel 无法匹配请求的任何路由。他需要查看通过 ajax 调用请求的路由文件和 URL。

标签: jquery laravel datatables yajra-datatable


【解决方案1】:

试图访问的路由包含完整的 json,上面有一些奇怪的编码,我直接将路由更改为“/datatables”,按照下面的建议,我还将帖子类型指定为 GET,现在表格是被填充。谢谢。

【讨论】:

    【解决方案2】:

    用这个替换ajax

    ajax: {
        "url": "{!! route("datatable") !!}",
        "type": "POST",
      }
    

    【讨论】:

    • 我替换了它,但在 URL 和 TYPE 上没有引号,我把它变成了 GET 类型。我还将 URL 更改为简单的“/datatable”,现在我的表格已填充!我不敢相信它奏效了!但是为什么它会起作用呢?
    • 我认为您没有在 web.php 中定义路由名称,因此发生此错误意味着 Route::get('/datatable', 'AdminController@datatable')->name('datatable') ;这里的名称是您的路线名称。所以它工作正常。您还没有定义名称,那么您可以使用 url 表示“{{ url('/datatable) }}”
    • @NicuZamfir 如果您得到了答案,请将此标记为已接受的答案。这样它就不会出现在未回答的问题中
    猜你喜欢
    • 2018-05-18
    • 2019-08-05
    • 1970-01-01
    • 2017-06-05
    • 2017-10-21
    • 2019-03-13
    • 2015-12-23
    • 2016-06-06
    • 2019-12-16
    相关资源
    最近更新 更多