Raj*_*aja 3 javascript jquery datatables
我在我的项目中使用 jQuery Datatables,现在一切正常。但我在浏览器控制台中收到以下警告错误,并且我没有找到任何关于为什么会出现这种情况的线索。但它并没有停止任何功能。
Uncaught TypeError: Cannot read property 'fnGetData' of undefined
Run Code Online (Sandbox Code Playgroud)
这是抽牌后出现的错误。
以下是我用于数据表的参数。这样您就可以对这个警告错误有所了解。
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
};
Run Code Online (Sandbox Code Playgroud)
我正在触发 ajax (sAjaxSource) 请求来获取表数据。
您的初始化代码是正确的。我怀疑您正在使用较新的 DataTables 1.10.x 库(通过autoWidth选项的存在)。
Cannot read property 'fnGetData' of undefined当您尝试在较新的 1.10.x 版本的 DataTables 的 API 实例上调用旧版本 (1.9.x) 方法时,可能会发生错误fnGetData(),例如:
var data = $('#example').DataTables().fnGetData();
Run Code Online (Sandbox Code Playgroud)
fnGetData()在 1.9.x 和 1.10.x 版本中调用的正确方法是
var data = $('#example').dataTable().fnGetData();
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅DataTables 1.9 至 1.10 迁移参考。