我有一个像这样格式化的本地JSON对象:
[{
"id": "58",
"country_code": "UK",
"title": "Legal Director",
"pubdate": "2012-03-08 00:00:00",
"url": "http://..."
},{
"id": "59",
"country_code": "UK",
"title": "Solutions Architect,",
"pubdate": "2012-02-23 00:00:00",
"url": "http://..."
},{
// ....more of the same......
}]
我想将此设置为jQuery datatable的数据源并尝试过:
testdata = '{{ jobsJSON | raw }}'; //twig template tag
console.log(testdata);
$('#test').dataTable({
"aoData": testdata,
"aoColumns": [
{ "mDataProp": "id" },
{ "mDataProp": "country_code" },
{ "mDataProp": "title" },
{ "mDataProp": "pubdate" },
{ "mDataProp": "url" }
]
});
DataTables插件加载并尝试绘制表,但会出现错误“表格中没有数据”
我没有进行AJAX调用,只想从本地JS变量访问JSON对象。
答案 0 :(得分:41)
提供您自己数据的属性为aaData
NOT aoData
:
testdata = [{"id":"58",...}]; // local object
$('#test').dataTable({
"aaData": testdata,
"aoColumns": [
{ "mDataProp": "id" },
{ "mDataProp": "country_code" },
{ "mDataProp": "title" },
{ "mDataProp": "pubdate" },
{ "mDataProp": "url" }
]
});
答案 1 :(得分:1)
我遇到了同样的问题,解决方案是这样的:
将$('#list_table').dataTable
代码放在setTimeout
函数中以推迟dataTable应用程序5秒钟:
setTimeout("$('#list_table').dataTable ...." , 5000);
我注意到在加载表后在firebug中应用dataTable插件,它没有显示错误为"表中没有可用的数据"。