如何使用本地JSON对象作为jQuery DataTables的数据源

我有一个像这样格式化的本地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数据表的数据源并尝试过:

 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对象。

提供您自己的数据的属性是aaData NOT aoData

 testdata = [{"id":"58",...}]; // local object $('#test').dataTable({ "aaData": testdata, "aoColumns": [ { "mDataProp": "id" }, { "mDataProp": "country_code" }, { "mDataProp": "title" }, { "mDataProp": "pubdate" }, { "mDataProp": "url" } ] }); 

工作小提琴

我遇到了同样的问题,解决方案是这样的:在setTimeout函数中放置$('#list_table').dataTable代码,将dataTable应用程序推迟5秒:

 setTimeout("$('#list_table').dataTable ...." , 5000); 

我注意到在加载表后在firebug中应用dataTable插件,它不会显示错误为“表中没有数据”。