Javascript DataTables.js在添加行时请求了未知参数

Javascript DataTables.js在添加行时请求了未知参数,javascript,jquery,datatable,Javascript,Jquery,Datatable,我的页面上有一个预定义的datatable,它通过ajax调用从数据中填充。在这些值出现在页面上之后,用户需要能够通过单击按钮添加行,有点像审计日志。但是,每次我添加一行时,都会出现错误 “DataTables警告:表id=DataTables\u table\u 0-请求的未知 第2行第0列的参数“data1” 我在互联网上走来走去,弄不明白这一点。请帮忙 我全局定义了表变量,因此每个人都可以访问它 var escalationTable; 然后是一个调用我的ajax来填充所述表的函数 f

我的页面上有一个预定义的datatable,它通过ajax调用从数据中填充。在这些值出现在页面上之后,用户需要能够通过单击按钮添加行,有点像审计日志。但是,每次我添加一行时,都会出现错误

“DataTables警告:表id=DataTables\u table\u 0-请求的未知 第2行第0列的参数“data1”

我在互联网上走来走去,弄不明白这一点。请帮忙

我全局定义了表变量,因此每个人都可以访问它

var escalationTable;
然后是一个调用我的ajax来填充所述表的函数

 function populateTable(var1, var2, var3, var4, var5, var6, var7) {
            $.ajax({
                dataType: 'json',
                //data: id,
                type: 'GET',
                async: false,
                url: baseUrl + 'rest/partUrl/action?var1=' + var1 + '&var2=' + var2 + '&var3=' + var3 + '&var4=' + var4,
                success: function (data) {
                    if (data) {


                        escalationTable = $('.escalationTable').DataTable({
                            data: data,
                            columns: [
                                {
                                    data: "data1" ? "data1" : null
                    },
                                {
                                    data: "data2" ? "data2" : null

                    }, {
                                    data: "data3" ? "data3" : null
                    }
                ],
                            bSort: false
                        });



                    }
                },
                error: function (request, status, error) {
                    showErrorMessage(request);
                }
            });
        }
html


这个问题的答案是将add中的字段命名为与进入该字段的数据相同的字段。不基于字段的名称

$('.assignToSelf').on('click', function () {
        var rowNode = escalationTable
            .row.add({
                "data1": 'ffffff',
                "data2": 'dfsdfsdf',
                "data3": 'fffff'
            })
            .draw(false)
            .node();

    })

如果行的数据源对象没有esId参数,或者数据为null或未定义(从),则会产生此错误。您应该检查这两条线索。@bigless我已经阅读了文档。我正在传递字符串值…因此,除非我遗漏了一些内容,否则这不应该是问题所在。您能为您的表显示
html
吗?@MuhammadOmerAslam添加了html。这是一个基本的表…没有什么特别的。只是想看看标题中列的确切数量,所以告诉我什么是
data1
data2
data3
,因为您正在用以下方式定义表的列
数据:“data1”?“data1”:null
它将始终计算为
数据:data1
,这就是它引发异常的地方为什么要这样做,这是否有效@扎兹沃尼基
$('.assignToSelf').on('click', function () {
        var rowNode = escalationTable
            .row.add({
                "esId": 'ffffff',
                "esUser": 'dfsdfsdf',
                "esDate": 'fffff'
            })
            .draw(false)
            .node();

    })
$('.assignToSelf').on('click', function () {
        var rowNode = escalationTable
            .row.add({
                "data1": 'ffffff',
                "data2": 'dfsdfsdf',
                "data3": 'fffff'
            })
            .draw(false)
            .node();

    })