将客户端 JSON 传递给 dataTable - 语法?

Passing client-side JSON to dataTable - syntax?

提问人:Rid Iculous 提问时间:7/31/2017 最后编辑:Rid Iculous 更新时间:11/9/2018 访问量:487

问:

我被困在尝试将JSON传递给dataTable时。

我在脚本中的不同点加载 JSON,然后截断我需要的部分并将其传递给应该呈现表的函数。 功能为:

    function populateCasesTable(d){
        var json = d.cases;
        var cols = [
            {  "data"   :  json.service_area},
            {  "data"   :  json.presenting_issue },
            {  "data"   :  json.referred_by },
            {  "data"   :  json.date_opened },
            {  "data"   :  json.case_status },
            {  "data"   :  json.preferred_staff }
        ];

        console.log(json);

        $('#cases_table').DataTable( {
           "data": json,
           "columns": cols
        } );
    }

表格的 HTML 是

<table  id='cases_table' width="100%">
    <thead>
    <tr>
        <th>Service Area</th>
        <th>Presenting Issue</th>
        <th>Referred by</th>
        <th>Date opened</th>
        <th>Status</th>
        <th>Preferred Staff</th>
    </tr>
    </thead>

</table>

console.log输出返回正确数量的对象 (12),单个对象如下:

    0 Object: 
    action:9
    case_status:"Open"
    date_created:"11/07/2017"
    date_opened:"11/07/2017"
    file:5
    id:31646
    issues:8
    preferred_staff:"Doc Kuran"
    presenting_issue:"Anxiety Disorder"
    referral:0
    referred_by:"Academic staff"
    serviceAreaId:14
    service_area:"Disability Services"
    staff:0

我得到了正确的页数,并附有神秘的“DataTables 警告:table id=cases_table - 第 0 行第 0 列请求的未知参数”0”。有关此错误的更多信息,请参阅 http://datatables.net/tn/4 弹出窗口。

我确定这是一个配置问题,但我无法解决这个问题。

我错过了什么?

谢谢。

JSON 数据表 客户端

评论


答:

0赞 Rid Iculous 7/31/2017 #1

我找到了。Cols 必须按如下方式设置:

 var cols = [
            {  "data"   :  'service_area'},
            {  "data"   :  'presenting_issue' },
            {  "data"   :  'referred_by' },
            {  "data"   : 'date_opened' },
            {  "data"   : 'case_status' },
            {  "data"   : 'preferred_staff' }
        ];