dataTables 正确解析了来自 ajax 的 json 响应

dataTables properly parsed json response from ajax

我正在尝试使用 datatables 1.10 jquery 插件创建一个 table。我正在尝试使用:

$(function(){
$('#example').dataTable(
{
                    "ajax":{
                            url:"getTicketList.php",
                            "columns": [
                                    { "data": "id" },
                                    { "data": "company" }
                            ]
                    }
});
});

和getTicketList.php

foreach ($ticketList as $k => $v){
    $tickets['data'][$a]['id'] = $v['ticket_id'];
    $tickets['data'][$a]['company'] = $v['listed_company'];
    $a++;
}
echo json_encode($tickets);

这导致:

{"data":{"1":{"id":"20523","company”:”Acme Inc”},”2”:{“id":"23148","company”:”Walmart”}}}

和 html:

<table id="example" class="display" cellspacing="0" width="100%">
    <thead>
        <tr>
            <th>ID</th>
            <th>Company</th>
        </tr>
    </thead>

但我在 table 中没有得到任何数据。任何想法为什么?这是我第一次尝试使用 datatables.....

根据 ChrisV 的建议,我现在收到以下错误:

DataTables warning: table id=ticketList - Cannot reinitialise DataTable. For more information about this error, please see http://datatables.net/tn/3

已解决。我在页面上浮动了一些额外的代码。

columns 属性 应该直接出现在 .dataTable( 声明中,而不是嵌套在 ajax 属性.

@ChrisV 是对的。所以它会是这样的:

<code>
$(function(){
$('#example').dataTable(
{
                    "ajax":{
                            url:"getTicketList.php"
                    },
                      "columns": [
                                    { "data": "id" },
                                    { "data": "company" }
                            ]
});
});
</code>