无法读取未定义的属性“长度”:数据表

时间:2015-02-06 23:40:58

标签: jquery datatables-1.10

所以我按照这里的信息http://datatables.net/examples/ajax/simple.html,只是为了设置一个非常基本的数据表。一旦完成,我将按照我想要的方式完成它。这是我的代码:

表:

<table id='transactions' class='table table-hover'>
    <thead>
        <tr>
            <th>Symbol</th>
            <th>Company Name</th>
            <th>Market</th>
            <th>Purchase Price</th>
            <th>Commission</th>
            <th>Shares</th>
            <th>Purchase Date</th>
        </tr>
    </thead>
    <tfoot>
        <tr>
            <th>Symbol</th>
            <th>Company Name</th>
            <th>Market</th>
            <th>Purchase Price</th>
            <th>Commission</th>
            <th>Shares</th>
            <th>Purchase Date</th>
        </tr>
    </tfoot>
</table>

使用Javascript:

$('table#transactions').dataTable({
    ajax: url
});

数据(收到):

{"data":
    [
        ["AAPL","Apple Inc.","NYSE","30.00","0.00","100","2015-02-03"],
        ["T.TO","TELUS Corporation","TSE","12.75","1.25","400","2015-02-03"],
        ["SNE","Sony Corporation","NASDAQ","42.63","2.50","50","2015-01-28"]
    ]
}

所以问题是我在标题中收到错误,我不明白为什么。据我所知,我几乎完全复制了示例页面上的代码,并复制了数据的发送方式。我希望另一双眼睛能帮我告诉我哪里出错了。

编辑:

我已将发送的数据更改为可能的最小数据量,并检查了网络的实际响应,这就是我所看到的:

"{\"data\":[\"AAPL\",\"Apple Inc.\",\"NYSE\",\"30.00\",\"0.00\",\"100\",\"2015-02-03\"]}"

该数据的输出是否让我烦恼?我应该提到我通过PHP发送这些数据,这是一个我使用json_encode的数组。

1 个答案:

答案 0 :(得分:0)

所以,我终于弄明白了这个问题的答案,并认为我会把它放在与我相同位置的任何人身上。

DataTables声明它需要一个json对象,所以我使用json_encode在PHP中编码一个数组来获得它。然而,事实证明,发送$ data ['data'] []的标准数组是它实际想要的。