我正在从后端以以下格式获取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()函数。后端中也在发生数据更新。我得到的数据按点排序。我只需要更新表而不刷新它。有什么想法吗?
很高兴能为您提供帮助。