【问题标题】:DataTables - Ajax pagination brokenDataTables - Ajax 分页损坏
【发布时间】:2020-03-02 11:32:46
【问题描述】:

我正在使用 DataTable jQuery 库来显示数据,并使用服务器端处理选项来使用 ajax 来实现。一切正常,只是我的分页没有停在最后一页。我可以继续导航(当然所有这些页面都是空的)。表格底部显示的信息也是错误的,说:Showing 0 to 0 of 0 entries (filtered from NaN total entries)

Javascript 初始化:

    const ajaxUrl    = $(this.tableContainer).data('ajaxUrl');
    const pageLength = $(this.tableContainer).data('pageLength');

    $(this.tableContainer).DataTable({
        'ajax'         : ajaxUrl,
        'pageLength'   : pageLength,
        'processing'   : true,
        'serverSide'   : true,
        'lengthChange' : false,
        'info'         : true,
        'searching'    : false,
        'autoWidth'    : false,
        'columns'      : [
            {
                "data" : "fileName",
            },
            {
                "data" : "userName",
            },
            {
                "data"      : "hash",
                "orderable" : false,
            },
            {
                "data" : "date",
            },
            {
                "data"      : "time",
                "orderable" : false,
            },
            {
                "data"      : "transactionNumber",
                "orderable" : false,
            },
            {
                "name"      : "download",
                "orderable" : false,
                "render"    : this.renderButton.bind(this)
            }
        ],
        "order"        : [[3, 'desc']] // Order by date by default
    });

我的 JSON 响应看起来不错,它是从 PHP/Symfony 应用程序生成的。

{
  "draw": "1",
  "recordTotal": 51,
  "recordFiltered": 51,
  "data": [
    {
      "id": 601,
      "fileName": "vvvvvvv.png",
      "userName": "Angelo Mahrouchi",
      "date": "02/03/2020",
      "time": "10:20:08",
      "transactionNumber": "0x4d58e7450054dfa73455bbe82f8bffb8bd75cefba098398171c594eba1c56780",
      "hash": "48f0b5225832ae836b4fe1203ef5ec98d04b7bd231511de8d13cb858fdd562a37210550e9f9711f9e83610b7faaa96091de8721e814c2a673190c755059c0b7c"
    },
    {
      "id": 551,
      "fileName": "TestFile 0",
      "userName": "Certification Fixture",
      "date": "01/03/2020",
      "time": "09:01:50",
      "transactionNumber": "0x90d3ae190428986851b26e0350e831116cbff4a124da299439f557b6e11d658b",
      "hash": "9d5dc53cb2f265ee42cc6e34bc2d8b6d3b78b733f166fed4817c908a16c15fb2464b607c06a0f6d7e4a5800641810db87be1a48807380c2c892ce2e672531868"
    },
    // ...
}

我错过了什么...?

【问题讨论】:

  • 问题中的 JSON 看起来不正确:(1) 缺少 ] - 也许这只是复制/粘贴问题; (2) 标签recordTotalrecordFiltered 看起来不对。我认为他们应该是recordsTotalrecordsFiltered
  • 我的天啊...我觉得自己很笨...我已经挣扎了几个小时只是因为我拼错了两个键...谢谢>。

标签: jquery datatables


【解决方案1】:

正如上面 cmets 中提到的,错误非常简单......我在 ajax 响应中拼错了键 recordsTotalrecordsFiltered,当然它不起作用 >.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-27
    • 2010-09-23
    • 2019-08-18
    • 2019-07-10
    相关资源
    最近更新 更多