我在我的網站上有一個腳本,每秒都會檢查新的數據庫條目,並將更新放入表格中。AJAX腳本刪除表頭
我遇到了腳本從頁面中刪除表頭的問題。它們仍然出現在源代碼中(右鍵單擊並顯示頁面源代碼),但它們對用戶不可見。
這個問題似乎在「while (tbl.lastChild != tbl.firstChild) { tbl.removeChild(tbl.lastChild); }
」之內,但是如果我刪除了這行代碼,腳本會一直重複顯示相同的數據。例如,如果我在數據庫中有名稱1,名稱2和名稱3。所有三個都將顯示,然後重複。
如何在停止重複數據的同時顯示錶格標題?
我完整的腳本代碼是:
function tick() {
var xhttp = new XMLHttpRequest();
xhttp.onload = (function() {
var data = JSON.parse(xhttp.responseText);
var tbl = document.getElementById("reports");
while (tbl.lastChild != tbl.firstChild) { tbl.removeChild(tbl.lastChild); }
function cell(data) {
var c = document.createElement("td");
c.appendChild(document.createTextNode(data));
return c;
}
for (var i = 0; i < data.length; i++) {
var row = document.createElement("tr");
row.appendChild(cell(data[i]["id"]));
row.appendChild(cell(data[i]["firstname"]));
row.appendChild(cell(data[i]["lastname"]));
row.appendChild(cell(data[i]["date"]));
var a = document.createElement("a");
var c = document.createElement("td");
a.href = "view.php?id=" + data[i]["id"];
a.appendChild(document.createTextNode("View ID"));
c.appendChild(a);
row.appendChild(c);
tbl.appendChild(row);
setTimeout(tick, 1000);
}
});
xhttp.open("GET", "reportload.php", true);
xhttp.send("");
}
addEventListener("DOMContentLoaded", function() {
tick();
});
我猜你沒有使用''爲表格標題,'
'主表的內容和''爲桌腳? –