我在一个小项目中使用jQuery DataTables,ajax和Bootstrap.它主要是工作,我正在测试错误状态.我已经为DataTables表设置了我的html. < table>周围有一个响应表的div.
在DataTables init中,我设置了ajax调用并指定了错误回调函数.这“工作”,我可以强制服务器端ajax代码中的错误,并触发回调.我可以按照自己的意愿处理返回的错误.
我的问题是,当ajax调用启动时,表体被Processing消息“替换”.这很好,除非当ajax通过回调报告错误时,处理消息仍然存在,我还没有弄清楚如何通过DataTables方法或API调用使其消失.
我的错误回调看起来像
function ajaxError(jqXHR,textStatus,errorThrown) {
var obj = jQuery.parseJSON(jqXHR.responseText);
if (obj && obj.Error) {
$('#errorDiv').html("
我有一个“全局”变量,它包含DataTables表定义.它在jQuery ready函数中设置
var table;
$(function () {
$('#errorDiv').empty();
$('#resultTable').show();
table = $('#resultTable').DataTable({
paging: false,processing: true,autoWidth: false,ordering: false,ajax: {
url: "ions.cgi",dataType: 'json',dataSrc: "LIST",error: ajaxError
},...
在错误回调中,我尝试了以下所有方法:
table.clear().draw(); // does nothing
table.fnRedraw(); // says that function does not exist
在此错误状态下,应如何重置处理消息?
最佳答案
显示处理消息的元素获取id< idOfTable> _processing,因此您可以使用以下命令隐藏它:
$('#resultTable_processing').hide();
这可能已经改变了,id可能会有所不同,但概念就是这样,你可以找出如何识别元素并将其隐藏起来.如果必须,DataTables将再次显示它.
此外,您是否希望处理消息显示在其他ocassions中?因为你可以通过使用处理来使它永远不会出现:在DataTable的选项上显示false(或者根本不设置它,因为它是默认行为,不显示它).
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。