更新jQuery数据表不起作用

时间:2019-06-23 20:04:07

标签: javascript jquery datatables

我正在从后端以以下格式获取json对象:

[
    {
        "tournament_scores_id": 69,
        "user_id": 12,
        "tournament_id": 11,
        "match_count": 19,
        "goals": 34,
        "goals_against": 37,
        "points": 10,
        "wins": 5,
        "losses": 14,
        "diff": -3
    },

json对象被用作jquery数据表的数据源。 在函数loadRankingTable()中,我正在从api中检索数据,并使用所选列成功写入了数据表。

在refreshTable()中,我想更新特定玩家的目标和得分。它以传统方式起作用,但是我不想刷新页面。所以我试图用ajax更新表,但是更改对表没有影响。下面的代码:

function refreshTable() {
    var table = $('#ranking-table').DataTable();
    // Retrieve data
    var data = table.rows().data();
    var tid = parseInt(sessionStorage.getItem("T_ID").replace("T_ID:", ""));
    var body = { t_id: tid };
    $.ajax({
        method: "POST",
        url: "http://localhost:3000/getScore",
        data: body
    }).done(function (data) {
        $.each(data, function () {
            this[0] = 'updated';
        });

        // Clear table
        table.clear();

        // Add updated data
        table.rows.add(data);

        // Redraw table
        table.draw();
    });
}

单击按钮时,将调用refreshTable()函数。后端中也在发生数据更新。我得到的数据按点排序。我只需要更新表而不刷新它。有什么想法吗?

很高兴能为您提供帮助。

0 个答案:

没有答案