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

Passing client-side JSON to dataTable - syntax?

我无法尝试将 JSON 传递给数据表。

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

    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 是

<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 输出 returns 正确数量的对象 (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' 弹出窗口。

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

我错过了什么?

谢谢。

我找到了。列必须设置如下:

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