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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (238)

我有一个本地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不是aoData:

testdata = [{"id":"58",...}]; // local object

$('#test').dataTable({
    "aaData": testdata,
    "aoColumns": [
        { "mDataProp": "id" },
        { "mDataProp": "country_code" },
        { "mDataProp": "title" },
        { "mDataProp": "pubdate" },
        { "mDataProp": "url" }
    ]
});
用户回答回答于

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

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

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

扫码关注云+社区

领取腾讯云代金券