如何在不获取无法读取null的属性“ parentNode”的情况下销毁数据表实例?

问题描述

我有一张空桌子。当用户做出选择时,我使用ajax请求来填充此表,并将其初始化为数据表。当用户选择更改时,我必须执行相同操作。 我正在使用.destroy()再次重新初始化表之前。 但是我得到了

Cannot read property 'parentNode' of null

在我使用 .destroy()的地方。我在datatables论坛和stackoerflow上进行了检查,再次重新填充表的唯一一种方法是销毁并重新创建。这对我不起作用,我很困惑,这令人沮丧。 有人得到这个错误吗?您如何解决?

//on page load

table = $('#table').DataTable({
    "ajax": {
          "type": "POST","url": "/myurl/keys","data": {"keys": {}},"dataSrc": function (json) {
          var return_data = new Array();
              for(var i in json){
                  return_data.push({
                      'col1': json[i].col1,'col2': json[i].col2,})
           }
           return return_data;
       }
    },...
}); // so table is empty,because no keys sent,data back is empty json

这是用户选择时调用的函数的内容:

//on change choice input/select
if ((table != null) && ($.fn.DataTable.isDataTable('#table'))) {
    $('#table').DataTable().destroy(); //getting error here
    $('#table').empty();
}

table = $('#table').DataTable({
    "ajax": {
        "type": "POST","url": ajaxSource,"data": data,"dataSrc": function (json) {
            var return_data = new Array();
            for(var i in json){
                return_data.push({
                    'col1': json[i].col1,})
            }
            return return_data;
        }
    },...
});
//end choice function

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)