我已经“成功”将DataTables实施到我的应用中。网格最初从服务器加载完全没问题。但是,当我在网格上调用ajax.reload();
方法时,Processing
消息就会卡在那里,几乎就像JSON错误或者对服务器的调用失败一样。
我在初始调用和ajax.reload()
调用之后都检查了JSON,并且它的完全两次都相同 - 完全没有JSON错误,完全相同的JSON字符串。
为什么在后续调用服务器时,即使两次都返回相同的JSON,Processing
消息仍然存在?
这是我的代码:
var objUserTotalsTable = $('#tbl-qmes-tasking-user-totals').DataTable({
processing: true,
language: {
processing: '<span class="fa fa-refresh fa-spin fa-3x fa-fw datatable-spinner"></span><div class="loading-text">Loading</div>'
},
info: false,
serverSide: true,
ordering: false,
paging: false,
searching: false,
ajax: {
url: "Models/crud/Reports/qmes-tasking-select.aspx",
data: {
valSwitch: "user_totals"
},
}
});
答案 0 :(得分:11)
您已使用serverSide: true
启用了服务器端处理。在该模式下,服务器应在响应中返回draw
参数,该参数包含与请求中相同的值。该值从1
开始,并随每个请求递增。
您很可能在draw
参数中返回相同的值,这就是您忽略后续回复的原因。
有关详细信息,请参阅server-side processing documentation。