2

サーバーでうまく機能するプラグインを作成しようとしています。ページが読み込まれるたびに、データを取得するためにサーバーへの AJAX 呼び出しが呼び出されます。サーバーは単純な文字列を返す必要があります。

今、私はこのタイプのプログラムに最適なアプローチを理解しようとしています。

データが必要になるたびに AJAX 呼び出しを作成する必要がありますか、またはサーバーの電力を節約するために (Web ページの変更にもかかわらず) 開いている接続を作成できる方法はありますか?

どういうわけか、ポートまたはそのようなものをリッスンする必要がありますか?

他のオプションはありますか、またはこれを最も効率的な方法で行うにはどうすればよいですか?

4

3 に答える 3

2

HTML5 websockets (http://www.html5rocks.com/en/tutorials/websockets/basics/) を使用できますt は、AJAX が行う要求応答パラダイムに従います。代わりに、接続を使用してデータをストリーミングするため、サーバーでポートを開いてリッスンする必要があります。その方法は、使用している言語またはフレームワークによって異なります。これは高速で応答性に優れていますが、最新のほとんどのブラウザーでのみ機能します。

他のアプローチは、ロング ポーリング(http://techoctave.com/c7/posts/60-simple-long-polling-example-with-javascript-and-jquery) を使用することです。これは、一部のチャット クライアントで使用されます。サーバーにAJAXリクエストを送信すると、サーバーはそれを受信し、データが利用可能になるまで待機してから、応答が送信されます。次に、クライアントは別のリクエストを作成し、待機して繰り返します。

おそらく、単純な文字列をクライアントに送信することはほとんどないでしょう。ほとんどの場合、XML または JSON を使用して応答をエンコードすることをお勧めします。

于 2012-12-06T15:54:50.867 に答える
1

簡単な AJAX 呼び出しを作成して各ページに配置するか、それを独自のファイルとして保存して、各ページのヘッダーにサーバー インクルードを配置するだけです。そのような単純な!

$(document).load(function(){    

    $.ajax({
        type: "POST",
        url: "/where_your_string_is.php",
        success: function(msg){

            $("#stringHolder").html(msg);

            }

    }); 

});     
于 2012-12-06T16:04:10.577 に答える
0

Websockets API は双方向通信を可能にしますが、データのプルのみが必要な場合に使用できるHTML SSEという別のオプションがあることを発見しました。したがって、この質問に出くわした場合は、このオプションも検討してください。

于 2014-01-22T07:46:41.587 に答える