出现错误 - TypeError: DataTable.fnDestroy is not a function

Posted

技术标签:

【中文标题】出现错误 - TypeError: DataTable.fnDestroy is not a function【英文标题】:Getting error - TypeError: DataTable.fnDestroy is not a function 【发布时间】:2015-11-01 13:55:15 【问题描述】:

我有以下使用数据表的代码

Contact.dataTable = $('#table').dataTable( 
.............
,
 $('#table tbody').on('click', '.position', function () 
            var row = this.parentElement;
             var data = Contact.dataTable.row(row).data();
...

由于上述代码给出错误"TypeError: Contact.dataTable.row is not a function",我已将每个dataTable 更改为DataTable强>。但现在它给出了错误"TypeError: Contact.DataTable.fnDestroy is not a function"

下面是给出错误的代码

Contact.DataTable = $('#table').DataTable( 
    .............
    ,
     $('#table tbody').on('click', '.position', function () 
                var row = this.parentElement;
                 var data = Contact.DataTable.row(row).data();
    ...
    

if('DataTable' in Contact) 
            Contact.DataTable.fnDestroy();

请大家帮忙!

【问题讨论】:

嗯,Contact.dataTable !== Contact.DataTable,你似乎还在处理两个不同的事情? 不,当我使用 Contact.dataTable -> 它给我错误,如 Contact.dataTable.row is not a function。所以我用 DataTable 替换了 dataTable 的每个实例 - 现在它给出了错误 - fnDestroy 不是函数 【参考方案1】:

这似乎是……的区别。

_table = jQuery('table#fp-table-table').dataTable(); // .fnDestroy() 有效 和

_table = jQuery('table#fp-table-table').DataTable(); // .fnDestroy() 不起作用 DataTable 似乎是用于 API 调用回对象,而 dataTable 似乎是初始化方法。

在我的项目中,我将初始化更改为使用 DataTable 而不是 dataTable 来执行过滤任务。在此之后,我的 AJAX 重新加载会抛出“未定义”错误,所以我将其改回...我 esta。

【讨论】:

【参考方案2】:

查看此线程 here - 它讨论了 .DataTable().dataTable() 之间的区别。

【讨论】:

以上是关于出现错误 - TypeError: DataTable.fnDestroy is not a function的主要内容,如果未能解决你的问题,请参考以下文章

出现错误 - TypeError: DataTable.fnDestroy is not a function

React Native:获取请求失败并出现错误 - TypeError:网络请求失败(...)

当我使用“ useCallback”时,出现TypeError错误

VUEX Getter 在测试期间出现错误:TypeError: this.[method_name] is not a function

Uncaught (in promise) TypeError: initialData is null - 我的组件被包装在一个 div 中,但仍然出现错误

Apollo 查询失败并出现错误 - TypeError: this.props.getPostInfo is not a function