0

我已经找到了各种方法来在网站上轮询 MySQL,无论好坏,而且大多是 2 岁。

我想看一个如何正确轮询服务器的示例。

我有一个 MySQL 表,其中插入了注释。我想在 JQuery 中看到一个关于如何轮询此服务器并附加到 DIV 的示例,只有自上次轮询检查以来插入表中的新评论,而不是每 5 秒显示最后 10 个条目。

一个非 setInterval 示例将是理想的,因为我读过 setInterval 不关心在发出另一个请求之前请求是否成功。

4

1 回答 1

0

您必须向服务器端脚本发送 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);

        }

    });
}
于 2012-05-01T21:51:00.083 回答