我目前有一个基于Ajax的聊天功能,我试图通过仅在更新发生时加载聊天脚本来优化它。因此,如果数据库中没有任何更改,就不需要继续加载。
我的当前逻辑如下:
- 每隔半秒钟,JavaScript函数会触发一次以获取聊天记录(
setInterval()
)
但是,如果没有任何更改,保持调用似乎相当低效。相反,我想做的是:
- JavaScript函数检查数据库中是否有任何新的日志
- 如果是,则加载新的日志;否则,保留当前显示的日志。
然而,我该如何实现呢?我目前使用的函数是:
function updateShouts() {
$('#chatArea').load('chat.php'); // load chat logs
}
setInterval("updateShouts()", 500); // call function every half a second