我在jQuery中使用.data()函数将从服务器返回的一组记录附加到我页面上的DOM元素。记录存储为对象数组。代码如下:
//Attached returned data to an HTML table element
$('#measTable').data('resultSet', resultSet);
//Get stored data from HTML table element
var results = $('#measTable').data('resultSet');
//Construct the measurement table
data_table = $('#measTable').dataTable({
"bJQueryUI": true,
"sPaginationType": "full_numbers",
"bProcessing": true,
"bDeferRender": true,
"aaData": [ results ],
"aoColumns": [
{ "mDataProp": "Field1" },
{ "mDataProp": "Field2" },
{ "mDataProp": "Field3" },
{ "mDataProp": "Field4" }
]
});
然后我从元素中获取数据并继续将其加载到数据表中。但这似乎不起作用,并始终返回错误请求未知参数“Field1”来自第0行的数据源。是否可以以这种方式将数据加载到数据表中?
更新:
以下是结果对象数组的示例
results =
0: Object
Field1: "2011/04/23"
Field2: 8
Field3: "Hello"
Field4: "World"
__proto__: Object
1: Object
Field1: "2011/03/25"
Field2: 6
Field3: "Hello"
Field4: "Everyone"
__proto__: Object
...etc.
答案 0 :(得分:5)
DataTables的开发人员Allan能够在DataTables forum的以下帖子中回答我的问题。如果链接不起作用,则问题结果是一个简单的语法错误。
而不是"aaData": [ results ],
,而不是"aaData": results,
。
感谢你的帮助艾伦。
答案 1 :(得分:1)
嗯,aaData(顾名思义使用hungarian notation)需要一个数组数组,所以如果你拿一个对象数组就是它抱怨的原因。
答案 2 :(得分:0)
将以下内容添加到您的定义中:
$('#measTable').dataTable({
...
"columns": [
{ "data": "field1" },
{ "data": "field2" },
{ "data": "field3" }
]
});
您应该将表格列与列数组匹配。
那就是它!