0

我有一个<div id="refresh">里面有一些 MySQL 内容。我有这个 JavaScript 代码:

<script type="text/javascript">
    var auto_refreshs_contents = setInterval(
        function(){
            $('#refresh').load('index.php?_=' +Math.random()+' #refresh').fadeIn("slow");  // load div.refresh
        }
    , 3000); // refresh every 3 seconds
</script>

它实际上第一次发布了代码的副本,所以它看起来像这样:

    0 seconds
+-------------------------------------+
|Randome Text                         |
|This is such a cool chat room        |
|Not really                           |
+-------------------------------------+
    3 seconds
+-------------------------------------+
|Randome Text                         |
|This is such a cool chat room        |
|Not really                           |
|This is such a cool chat room        |
|Not really                           |
+-------------------------------------+

如果你注意到了,它会遗漏“随机文本”这个帖子。我不知道为什么。但是,是的,它基本上是第一次这样做。然后在 6 秒后,它刷新,但没有更多内容,之后,它刷新正确。所以我决定在刷新之前清除页面的内容:

<script type="text/javascript">
    var auto_clearContents = setInterval(
        function(){
            $("#refresh").html(""); //clear contents of div#refresh
        }
    , 3000);  //clear existing contents every 3 seconds

    var auto_refreshs_contents = setInterval(
        function(){
            $('#refresh').load('index.php?_=' +Math.random()+' #refresh').fadeIn("slow");  // load div.refresh
        }
    , 3000); // refresh every 3 seconds
</script>

然而那就是事情变得奇怪的时候。我正在查看networksChrome 开发人员工具中的选项卡,它显示它每 200 毫秒左右刷新一次(是的,200 毫秒),有时需要 2.5 秒。我不知道...

我的代码有问题吗?有更好的方法吗?谢谢!

4

1 回答 1

1

我认为后端一定有问题。 这是一个小提琴,基本上就是你在说什么,它工作正常。

当您看到 200 毫秒时,我认为这可能是生成index.php页面所需的时间,而不是间隔之间的时间。

如果您向我们展示来自 php 页面或 php 页面本身的响应,我们可能会提供帮助。

于 2012-10-23T04:11:48.660 回答