我在我的项目中使用jQuery Datatables,现在一切都很好用。但我在浏览器控制台中遇到警告错误,我不知道这个错误为什么会这样。但它并没有阻止任何功能。
Uncaught TypeError: Cannot read property 'fnGetData' of undefined
这是错误,就在表绘制之后。
以下是我用于数据表的参数。所以你可以对这个警告错误有所了解。
var initParams = {
"bDestroy": true,
"autoWidth": false,
"bSortClasses": true,
"iDisplayLength": 15,
"aLengthMenu": [[10, 15, 30, 50, 100, -1], [10, 15, 30, 50, 100, "All"]],
"sAjaxSource": defaultReq,
"fnServerData": function ( sSource, aoData, fnCallback, oSettings ) {
oSettings.jqXHR = $.ajax( {
"dataType": 'json',
"type": "GET",
"url": sSource,
"data": aoData,
"success": fnCallback,
"error": function (e) {
console.log(e.message);
}
});
},
"aoColumns": cols,
"aoColumnDefs": colDef
};
我正在触发ajax(sAjaxSource)请求以获取表数据。
任何帮助将不胜感激:)
答案 0 :(得分:3)
您的初始化代码是正确的。我怀疑您正在使用较新的DataTables 1.10.x库(存在ds = PivotDataPool(
series=[
{'options': {
'source':Demographic.objects.filter(gender__startswith='f'),
'categories':['gender'] },
'terms':{
'sex_count':females.count(),
}
}
]
)
pvcht = PivotChart(
datasource=ds,
series_options =
[{'options':{
'type': 'column',
'stacking': True},
'terms':[
'sex_count']}],
chart_options =
{'title': {
'text': 'Total number'},
'xAxis': {
'title': {
'text': 'Sex'}}}
)
选项)。
当您尝试在较新的1.10.x版本的DataTables的API实例上调用旧版本(1.9.x)方法autoWidth
时,可能会出现错误Cannot read property 'fnGetData' of undefined
,例如:
fnGetData()
在1.9.x和1.10.x版本中调用var data = $('#example').DataTables().fnGetData();
的正确方法是
fnGetData()
有关详细信息,请参阅DataTables 1.9 to 1.10 migration reference。
答案 1 :(得分:0)
使用 rows()。nodes()代替fnGetData()。
喜欢这个
var data = $('#example').DataTables().rows().nodes();