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