2016-09-29 63 views
1

我使用Datatables.net插件,並使我自己的服務器端腳本返回JSON數據,JSON代碼看起來像這樣。Datatables服務器端呈現太多頁面分頁

{ 
    "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當我嘗試它拼版工作,但它會產生如此下去沒完沒了太多網頁。

datatables too many pages

這是我初始化數據表中的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> 

回答

0

我發現在返回JSON必須recordsFiltered解決方案的關鍵filteredTotal。在我改變這個之後,我的分頁正常工作。