4

この質問に対する答えを 1 日か 2 日探しましたが、まだ見つかりません。TSV ファイルを定期的に変更する (データを追加する) 外部アプリケーションがあります。基本的な折れ線グラフの例を使用してデータを表示していますが、非常に見栄えがします。

ここに画像の説明を入力

TSVファイルが更新されたときにデータを更新したいです。tsv ファイルから取得したデータに自動更新を設定し、ページ全体を更新せずにグラフを再作成できるようにしたいと考えています。

現在のコードを関数にラップして、その関数で setInterval を呼び出してみましたが、データは毎回同じままです (キャッシュされているためでしょうか?)。

理想的には、これに対する解決策は、(ユーザー イベント、タイマーなどに基づいて) いつでも Update を呼び出すことができる関数です。

同じ目標を達成するための別の方法についてのアイデア、リンク、または提案をいただければ幸いです。

おまけの質問: D3 は、この種の疑似リアルタイム データ表示には適切な選択ではない可能性があることを理解しています。この種のことにもっと役立つ他のパッケージはありますか? データを生成するアプリは C# アプリケーションです (それが問題になる場合)。

編集: 補足説明として、この例を想像してみてください。ただし、データはファイルから読み取られます: http://mbostock.github.com/d3/tutorial/bar-2.html

4

1 に答える 1

0

サーバーからデータをフェッチするために Ajax 呼び出しを実行していて、キャッシュが問題であると思われる場合は、 jquery の ajaxSetup のcacheパラメーターをコード内の任意の場所に設定して、キャッシュの無効化を試すことができます。false

$.ajaxSetup({cache: false});

ドキュメントから:

false に設定すると、要求されたページがブラウザによってキャッシュされないように強制されます。注: キャッシュを false に設定すると、HEAD および GET リクエストでのみ正しく機能します。GET パラメータに「_={timestamp}」を追加することで機能します。このパラメーターは、GET によって既に要求された URL に対して POST が行われる IE8 を除いて、他のタイプの要求には必要ありません。

于 2013-01-23T22:29:24.493 に答える