ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Javascript-为什么服务器端分页对我的jquery datatables表不起作用?

2019-11-20 20:29:51  阅读:317  来源: 互联网

标签:pagination datatables javascript php


我正在尝试使服务器端分页正常工作,但它根本不起作用.我一直在寻找解决问题的方法,但是我发现的所有内容几乎都与我相同,这是行不通的.

我可能在这里遗漏了一些明显的东西,我没有使用过很好的数据表,我发现它的说明和示例太混乱了.

这是我的Javascript代码-它是作为内联Javascript代码从PHP文件内部打印的,因此为了简洁起见,我不得不替换PHP部分:

var display_start = 1;
var display_length = 10;

$( '#andrux' ).dataTable({
    'sPaginationType': 'full_numbers',
    'processing': true,
    'serverSide': true,
    'bSort': false,
    'ajax': '/bp-subgroups.php?group=3&iDisplayStart=' + display_start + '&iDisplayLength=' + display_length
});

根据我所看到的示例,我什至不应该在请求中附加iDisplayStart或iDisplayLength变量,但这是我不将全部记录加载到表中的唯一方法.

我知道在这种情况下会发生什么,我总是在请求中发送1和10作为显示开始和显示长度,我想问题应该是,如何根据我所在的页面更新这些内容?是否应该随每个请求自动更新它们?

这是我从PHP代码发送的输出:

$output = array(
    "sEcho" => intval( $_GET['sEcho'] ),
    "iTotalRecords" => $iTotal,
    "iTotalDisplayRecords" => $iTotal,
    "aaData" => array()
);

当然,aaData正在用我的行加载,为简洁起见,我只包括了上面的内容,此外,我可以看到数据很好,但是我无法使其分页.

有经验的人可以看到我在做什么吗?

这已经让我发疯了,但是我不想为此使用其他插件,我不喜欢放弃!

感谢大家.

解决方法:

好吧,因为没有人对此提供帮助,所以我只需要耗尽所有资源并自己找到解决方案.

答案在这里:http://www.datatables.net/examples/data_sources/server_side.html

在“服务器端脚本”选项卡的最底部,它们包括SSP类.因为我在这里使用WordPress,所以我错误地认为我不需要该类,因为我的查询是通过$wpdb或其他WP核心函数进行的,此外,我正在在线阅读所有文档,甚至没有想到那堂课-如果我遵循应该起作用的其余说明,那我为什么要这么做.

长话短说,我对SSP类进行了一些修改以满足我的需要,然后使用了示例页面几乎相同的设置,最后使我的数据表正确分页.

作为参考,我试图将类似以下的数组返回到数据表:

array(
    "sEcho" => intval( $_GET['sEcho'] ),
    "iTotalRecords" => $iTotal,
    "iTotalDisplayRecords" => $iTotal,
    "aaData" => $my_data
);

事实证明,我需要像这样返回数组:

array(
    "draw"            => intval( $request['draw'] ),
    "recordsTotal"    => intval( $recordsTotal ),
    "recordsFiltered" => intval( $recordsFiltered ),
    "data"            => $my_data
);

可能只是我一个人,但是数据表虽然是一个不错的插件,但确实需要在文档上做更多的工作.我发现某些参数在一个地方被找到,而在另一地方被发现了,就像上面的例子一样.

标签:pagination,datatables,javascript,php
来源: https://codeday.me/bug/20191120/2046590.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有