0

サイトで MySQL をポーリングするさまざまな方法を見つけましたが、良い面も悪い面もあり、ほとんどが 2 年前のものです。

サーバーを適切にポーリングする方法の例を見たいと思います。

コメントが挿入される MySQL テーブルがあります。このサーバーをポーリングして DIV に追加する方法の例を JQuery で見たいと思います。5 秒ごとに最後の 10 エントリを表示するのではなく、最後のポーリング チェック以降にテーブルに挿入された新しいコメントのみです。

別のリクエストを行う前にリクエストが成功したかどうかをsetIntervalが気にしないことを読んだので、setInterval以外の例が理想的です。

4

1 に答える 1

0

DB 内の新しいコメントをチェックし、JSON エンコードされたコメントを返すサーバー側スクリプトに AJAX 要求を送信する必要があります。

最新のコメントのみを取得するには、クライアント側のコードで、最後のコメント フェッチのタイムスタンプを保持します。次回コメントをリクエストするときは、このタイムスタンプを渡します。サーバー側スクリプトは、渡されたパラメーターよりも大きいタイムスタンプを持つコメントのみを返します。

を使用する代わりに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 に答える