-1

そのため、SO を検索してdiv、特定の間隔で a を更新する次の要求を作成するのに役立ちました。

    $(document).ready(function() {
             $("#trigger-newsfeed").load("getNewsfeed.php");
           var refreshId = setInterval(function() {
              $("#trigger-newsfeed").load('getNewsfeed.php');
           }, 4000);
    });

これは機能しますが、Ajax を使用することでこれをより効率的にできるかどうか疑問に思っていました (私が気づかずに Ajax をまだ使用していない場合)。

私は他のAjaxコードを使用してこれを実行しようとしましたが、これも機能しましたが、他のソリューションは間隔が終了するのを待ってからデータをロードしました。たとえば、間隔が 5 秒に設定されている場合、そのページが表示されるたびに、ユーザーは 5 秒間待機する必要があり、その後ロードされます。したがって、これは、最初に情報を中継し、間隔を置いて更新することで最もうまく機能することがわかった唯一のスニペットです。これを行うのにjqueryを使用するのが最善かどうかはわかりませんが。

私がこれを尋ねるのは、div更新に関してオンラインで行われる検索の大部分がすべて Ajax の使用法を指しているためです。

4

2 に答える 2

2

あなたが持っているものは機能しますが、ネットワーク接続/コンピューターが遅い場合、または何らかの理由でサーバーが停止した場合、リクエストがバックアップを開始する可能性があり、それが多すぎるとブラウザーがクラッシュする可能性があります.

これを修正するsetTimeoutには、間隔の代わりに a を使用して、前の要求からの応答を受信して​​から 4 秒後に新しいデータのみを要求するようにします。

function refreshNewsFeed() {
    $("#trigger-newsfeed").load("getNewsfeed.php",function(){
        setTimeout(refreshNewsFeed,4000);
    });
}
$(document).ready(refreshNewsFeed);
于 2013-04-22T21:31:43.893 に答える