Javascript 显示0个条目中的0到0个(从NaN总条目中筛选)
我使用的是jQuery DataTables版本1.10.12。下面是我的相关代码Javascript 显示0个条目中的0到0个(从NaN总条目中筛选),javascript,datatables,Javascript,Datatables,我使用的是jQuery DataTables版本1.10.12。下面是我的相关代码 // initialize datatable jQuery('#taskTable').DataTable( { "bProcessing": true, "bServerSide": true, "bInfo": true, "bPaginate": true, "bLengthChange":false, "pageLength": 10, "sAja
// initialize datatable
jQuery('#taskTable').DataTable( {
"bProcessing": true,
"bServerSide": true,
"bInfo": true,
"bPaginate": true,
"bLengthChange":false,
"pageLength": 10,
"sAjaxDataProp":"serverPageDataModelBean.data"
});
正在显示数据,分页正在工作。但是,当我设置“bInfo”:true时,我得到以下消息:
显示0个条目中的0到0个(从NaN总条目中筛选)
我的“下一步”按钮不起作用。在serverPageDataModelBean中,我正在发送{“recordsTotal”:12,“recordsFiltered”:12,“data”:[]}
,其中数据不是空的
有人能告诉我怎么了吗?原因
服务器端响应缺少draw
参数,该参数的值应与请求中的draw
参数的值相同。发生这种情况时,jQuery DataTables将丢弃数据
draw
此对象响应的绘图计数器-来自作为数据请求一部分发送的draw
参数
解决方案
返回与请求中的draw
参数值相同的draw
参数
链接
有关更多信息,请参阅。我知道这一点太晚了,但我将发布此消息,以防有人无意中发现。
答案是您需要将serverside设置为false,如下面的“serverside”:false。如果您使用的是serverside:true
选项,则删除此选项或写入serverside:false
例如:
$(document).ready(function() {
$('#example1').dataTable( {
"ajax": {
"url": "view_results",
"type": "POST"
},
'order':[]
} );
});
在服务器端处理空数据时,例如php的响应将是
echo json_encode(
array(
'draw' => $_POST['draw'],
'data' => [],
'recordsFiltered' => 0,
'recordsTotal' => 0
)
);
在纯json中
{"draw":1,"data":[],"recordsFiltered":0,"recordsTotal":0}
简而言之,无论2020年的数据表是什么,服务器端处理都需要此参数。谢谢!!非常感谢。@Mamadou Barry如果我从后端绑定来自ajax调用的数据,如果我将服务器端设为false或删除,那么没有数据显示,我知道这已经太晚了。但是我们怎么能做到呢?