Javascript 显示0个条目中的0到0个(从NaN总条目中筛选)

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

我使用的是jQuery DataTables版本1.10.12。下面是我的相关代码

// 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或删除,那么没有数据显示,我知道这已经太晚了。但是我们怎么能做到呢?