我在尝试填充表格时收到消息。这是简化代码。
$("#showUsers").on("click", function() {
$.ajax({
url: "/showUsers",
contentType: "application/json",
processData: false,
complete: function(data) {
$("#output").html(data.responseText);
$("#example").dataTable({
"aaData": data,
"aoColumns": [{
"sTitle": "Name",
"mDataProp": "name",
"sDefaultContent": ""
}, {
"sTitle": "Movie",
"mDataProp": "movie",
"sDefaultContent": ""
}]
});
}
});
});
和
<table id="example">
<thead>
<th>name</th>
<th>movie</th>
</thead>
</table>
data
被赋予有效的json:
[{
"name": "Dan",
"movie": "Amelie"
}, {
"name": "Rob",
"movie": "Dungeon"
}]
我已经读过,有时它会因为表格本身以及标题和内容而混乱,所以我尝试从表格定义中移除<thead>
,但结果却出现同样的问题。
有趣的是,如果我将"aaData":data
替换为"aaData":
加上json本身,它就可以了。但我不能让data
满足DT所需的要求。
ajax data
来自node-mysql
模块,该模块正常运行。
如果我将data
更改为data.responseText
(这是前面显示的json),我会收到警告requested unknown parameter 'name' from the data source for row 0
。
我知道对于任何没有经验的DataTables用户来说这应该是相当简单的,所以提前感谢。不知怎的,我无法解决它。
MySQL响应带有data.responseJSON
,这是一种提供给aaData
的工作格式。感谢。
答案 0 :(得分:1)
为了将问题标记为awnsered。
<强>解决。强>
mysql响应带有data.responseJSON,这是一种给aaData提供的工作格式。感谢。
答案 1 :(得分:0)
我想知道为什么我的dataTable没有填充。
除aaData
,iTotalRecords
和iTotalDisplayRecord
所需的正确json格式外,aaData
必须是一个数组(['a', 'b', ...]
),而不是对象({'a': 'b', ...}
)。