Jquery 数据表添加行

问题描述 投票:0回答:1

我的页面中有一个数据表,如下所示:

var dataSet = [
    { "id": 1, "name": "Bennett Weimann", "email": "[email protected]" },
    { "id": 2, "name": "Bennett Weimann", "email": "[email protected]" }
];

$(document).ready(function () {
    $('#example').DataTable({
        data: dataSet,
        columns: [
            { data: 'id', title: 'Id' },
            { data: 'name', title: 'Name' },
            { data: 'email', title: 'Email' },
        ],
    });
});

此外,我有一个按钮可以发出 AJAX post 请求,在答案中我得到一个 JSON

[{"id":1,"name":"Bennett Weimann","email":"[email protected]"},
{"id":2,"name":"Bennett Weimann","email":"[email protected]"}]

如果我尝试添加如下响应,则会收到错误

request.done(function (response, textStatus, jqXHR) {

        table = $('#example').DataTable();
        table.clear();
        table.rows.add(response);
        table.draw();

    });

错误是

“DataTables 警告:表 id=example - 请求第 0 行第 0 列的未知参数“id”。有关此错误的更多信息,请参阅 http://datatables.net/tn/4”

但是,如果我手动复制并粘贴响应,则没有任何问题。

request.done(function (response, textStatus, jqXHR) {

table = $('#example').DataTable();
table.clear();
table.rows.add([
    {"id":1,"name":"Bennett Weimann","email":"[email protected]"},
    {"id":2,"name":"Bennett Weimann","email":"[email protected]"}
]);
table.draw();

});

有任何帮助了解可能导致此类错误的原因吗?

javascript html jquery json datatable
1个回答
1
投票

我一定很累了..睡一觉后我可以看到我传递的是一个对象而不是数组。 我使用 php 作为后端,如果我创建一个像这样的数组

    $data = array([
        "id"  => 1,
        "name" => "foo",
        "email" => "bar"
    ]);

    return $data;

并传递响应,它就像魅力一样

 request.done(function(response, textStatus, jqXHR) {

        table = $('#example').DataTable();
        table.clear();
        table.rows.add(response);
        table.draw();

    });
© www.soinside.com 2019 - 2024. All rights reserved.