数据表无法读取属性' fnGetData'未定义的

时间:2015-02-05 10:13:21

标签: javascript jquery datatables jquery-datatables

我在我的项目中使用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)请求以获取表数据。

任何帮助将不胜感激:)

2 个答案:

答案 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();