【发布时间】:2013-04-29 12:30:25
【问题描述】:
我在我的网页上制作了一个表格,它每十秒重新加载一次,以获取用户输入的新信息(如果有)。问题是,我不希望整个表格每十秒重新加载一次,我只希望表格仅显示尚未在表格上的新更新。下面是我用来重新加载页面的代码。
function process(xmlHttp, i) {
if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0) {
//value = encodeURIComponent( objRef.value );
xmlHttp.open("GET", "php/AjaxBody.php?value=" + i, true);
xmlHttp.onreadystatechange = handleServerResponse;
xmlHttp.send(null);
} else {
alert("Hold on");
}
}
function handleServerResponse() {
if (test.readyState == 1 || test.readyState == 2 || test.readyState == 3) {}
if (test.readyState == 4) {
if (test.status == 200) {
txtResponse = test.responseText;
bodyDiv = document.getElementById("body");
bodyDiv.innerHTML = txtResponse;
} else {
alert("Error with the xmlHttp status");
}
}
/*
else{
alert("Error with the xmlHttp readystate: " + x.status);
} */
}
txtResponse 返回重新加载到div = body 上的整个表,我想知道如何去做,我也希望它是原生 JavaScript(“我不不介意 XML,改变返回信息的方式")
【问题讨论】:
-
在 php 中,您只返回更新的行并使用 append 方法将该行附加到现有表中。
-
是的,但我怎么知道那条记录是新的
-
让 ajax 请求发送它知道的最新记录 id,然后 php 检查是否有新的可用 .. 等等。
-
您是从服务器发送整个表格(带有数据的 html 结构)吗?
-
@SujeshArukil,是的,这就是我正在做的事情
标签: php javascript html xml