簡體   English   中英

數據表服務器端為分頁呈現太多頁面

[英]Datatables Server side renders too many pages for pagination

我正在使用Datatables.net插件並使用我自己的服務器端腳本來返回json數據,json代碼如下所示。

{
  "draw": 1,
  "recordsTotal": 100,
  "filteredTotal": 100,
  "data": [
    [
      "10",
      "2",
      "Dignissimos voluptatem odit commodi tenetur eaque ut. Reprehenderit asperiores accusamus ut enim rem fugiat suscipit. Beatae illo ipsum et non commodi. Sed consequuntur assumenda optio dignissimos.",
      "Occaecati ut pariatur optio maiores delectus ipsum rerum ipsam. Porro est dolores consequatur amet fugit cumque.",
      "9",
      "4",
      "3",
      "Repellat qui aliquam qui nostrum illum soluta debitis sint. Qui ut autem ut qui sint dolorum. Laborum neque ipsam eum non ut. Vel et expedita qui aut tempora qui."
    ],
    [
      "11",
      "4",
      "Pariatur rerum dolorem in quibusdam. Sunt iusto impedit perspiciatis et rerum possimus. Magni mollitia eos architecto. Laborum voluptatem mollitia dolorem porro.",
      "Doloribus vel aut quia ea et non consequuntur eligendi. Aut vero accusamus ipsa tenetur ullam perspiciatis. Exercitationem est facilis animi. Et alias modi dignissimos repudiandae.",
      "0",
      "2",
      "9",
      "Dolorem ullam ut illo est officia. Nesciunt nisi porro aut. Unde non pariatur ab aut. Enim quis ratione et ipsum voluptatem placeat."
    ],
    [
      "12",
      "2",
      "Consequatur dignissimos consequuntur repellendus enim quod. Aut ipsa cum enim perferendis. Qui et odit voluptatem ex quia temporibus quod. Culpa suscipit qui molestiae est labore.",
      "Quis sit quis et et harum ipsum accusantium. Quisquam aut fugiat ipsum ut velit autem cupiditate. Consequatur aut et voluptates totam porro et.",
      "0",
      "4",
      "6",
      "Dicta aut hic quia deleniti soluta soluta. Neque accusantium beatae ut et autem quo. Consequatur placeat vel dolores magnam alias dolorem. In nam et aspernatur esse ea reiciendis."
    ],
    [
      "13",
      "9",
      "Qui sit aut repellat consequatur quia reprehenderit non. Repellat quia quaerat aspernatur consequatur dolorum temporibus maxime illo. Recusandae optio explicabo saepe cupiditate.",
      "Nihil quae est suscipit ullam sed tempora nesciunt voluptates. Dolorum numquam temporibus est praesentium atque non cum. Quo veniam voluptatem repudiandae voluptas corrupti ipsa.",
      "1",
      "6",
      "1",
      "Harum officia iusto eveniet qui et. Dolores veritatis et error nam possimus nemo. Non natus sunt laborum magnam. Eum rerum laboriosam in eligendi nihil dolores recusandae distinctio."
    ],
    [
      "14",
      "2",
      "Sed veritatis et illum odio. Eius recusandae cumque qui animi quia enim. Unde repellendus ut sequi. Ea fugiat quasi ut in aut.",
      "Rerum nam deleniti voluptates quod fugit. Est exercitationem repellendus voluptates id. Minima dicta modi maxime.",
      "8",
      "0",
      "1",
      "Magnam et fugit tempore qui praesentium. Quia sit eum quo et quo aut. Iusto non sequi ducimus sint qui."
    ]
  ]
}

我的請求看起來像這樣。

draw=1&columns[0][data]=0&columns[0][name]=p.id&columns[0][searchable]=false&columns[0][orderable]=false&columns[0][search][value]=&columns[0][search][regex]=false&columns[1][data]=1&columns[1][name]=p.supplier_id&columns[1][searchable]=false&columns[1][orderable]=false&columns[1][search][value]=&columns[1][search][regex]=false&columns[2][data]=2&columns[2][name]=p.title&columns[2][searchable]=false&columns[2][orderable]=false&columns[2][search][value]=&columns[2][search][regex]=false&columns[3][data]=3&columns[3][name]=p.permalink&columns[3][searchable]=false&columns[3][orderable]=false&columns[3][search][value]=&columns[3][search][regex]=false&columns[4][data]=4&columns[4][name]=p.mpn&columns[4][searchable]=false&columns[4][orderable]=false&columns[4][search][value]=&columns[4][search][regex]=false&columns[5][data]=5&columns[5][name]=p.barcode&columns[5][searchable]=false&columns[5][orderable]=false&columns[5][search][value]=&columns[5][search][regex]=false&columns[6][data]=6&columns[6][name]=p.spc&columns[6][searchable]=false&columns[6][orderable]=false&columns[6][search][value]=&columns[6][search][regex]=false&columns[7][data]=7&columns[7][name]=p.description&columns[7][searchable]=false&columns[7][orderable]=false&columns[7][search][value]=&columns[7][search][regex]=false&start=0&length=5&search[value]=&search[regex]=false&_=1475131244317

然后我在我的數據表中使用分頁,但是我應該期望20個頁面有5個記錄,當我嘗試分頁時它總共100個,但是它會產生太多的頁面,它會無休止地進行。

數據表太多頁面

這是我初始化數據表的javascript。

<script>
$('#products').DataTable({
        "processing": true,
        "serverSide": true,
        "ajax": "/product/data",
        "searching": false,
        "ordering": false,
        "columns": [
            { name: 'p.id', "searchable": true },
            { name: 'p.supplier_id', "searchable": false },
            { name: 'p.title', "searchable": false },
            { name: 'p.permalink', "searchable": false },
            { name: 'p.mpn', "searchable": false },
            { name: 'p.barcode', "searchable": false },
            { name: 'p.spc', "searchable": false },
            { name: 'p.description', "searchable": false }
        ]
    });
</script>

我找到了解決方案,返回JSON中的密鑰filteredTotal必須是recordsFiltered 我改變了這一點后,我的分頁工作正常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM