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>

しかし、それは物事が奇妙になるときです。Chrome Developers Toolsのタブを見ていると、networks約 200 ミリ秒 (はい 200) ごとに更新され、2.5 秒かかることもあります。何も思いつきません...

私のコードに何か問題がありますか? それを行うより良い方法はありますか?ありがとう!

4

1 に答える 1

1

バックエンドに何か問題があるに違いないと思います。 これは、基本的にあなたが言っていることを示すフィドルであり、正常に機能しています。

index.php200 ミリ秒というのは、インターバル間の時間ではなく、ページの生成にかかる時間である可能性が高いと思います。

php ページまたは php ページ自体からの応答を見せていただければ、お役に立てるかもしれません。

于 2012-10-23T04:11:48.660 に答える