我已经找到了各种方法来在网站上轮询 MySQL,无论好坏,而且大多是 2 岁。
我想看一个如何正确轮询服务器的示例。
我有一个 MySQL 表,其中插入了注释。我想在 JQuery 中看到一个关于如何轮询此服务器并附加到 DIV 的示例,只有自上次轮询检查以来插入表中的新评论,而不是每 5 秒显示最后 10 个条目。
一个非 setInterval 示例将是理想的,因为我读过 setInterval 不关心在发出另一个请求之前请求是否成功。
您必须向服务器端脚本发送 AJAX 请求,该脚本将检查数据库中的新评论并将其返回 JSON 编码。
要仅获取最新评论,请在客户端代码上维护最后一次评论获取的时间戳。下次您请求评论时,请传递此时间戳。您的服务器端脚本只会返回时间戳大于传入参数的注释。
setInterval
您可以在成功处理程序中重新提交 AJAX 请求,而不是使用。
function ajaxRequest(timestamp) {
$.ajax({
url : 'url_to_post?timestamp=' + timestamp,
success : function(response){
//handle the new comments here
//call this function again
//sleep for 3 seconds first
setTimeout(function(){
timestamp += 3000;
ajaxRequest(timestamp);
},3000);
}
});
}