我目前有一个基于Ajax的聊天,我试图通过仅在更新发生时加载聊天脚本来简化聊天。因此,如果数据库中没有任何更改,则无需继续加载。Ajax聊天 - 只有在发生更改时才更新
我现在的逻辑说:
- JavaScript函数触发间隔为1/2秒获得聊天记录(
setInterval()
)
如果一切都没有改变,不过,这似乎是非常低效的不断的打电话它。相反,我想要做的是:
- JavaScript函数检查是否有任何新日志数据库
- 如果是 - 加载新的记录,如果没有 - 离开当前显示的日志单独。
但我该怎么办呢?我目前使用的功能是:
function updateShouts() {
$('#chatArea').load('chat.php'); // load chat logs
}
setInterval("updateShouts()", 500); // call function every half a second
随着Ajax的功能,你怎么从检查PHP脚本返回的值? – Dave 2010-06-13 16:06:26
你必须指定一个“成功”回调函数。你会看到它在我链接到的页面上的工作原理。 – 2010-06-14 13:29:38