私は、いくつかの高強度の SQL クエリを含むインターフェイスに取り組んでおり、現在 google.visualization.Query オブジェクトを使用して AJAX 経由で呼び出されている複数の Google チャートをレンダリングします。
var query = new google.visualization.Query('/report.ashx');
query.send(callbackMethod);
//....
function callbackMethod(rs){
var data = rs.getDataTable();
var graph = new google.visualization.AreaChart(target_div);
graph.draw(data);
}
インターフェイスは動的にフィルタリングできるため、クエリを実行できるシナリオに遭遇しましたが、ユーザーは再フィルタリングを選択してデータ ソースを再クエリする可能性があります。最初のクエリがまだ実行中で、2 番目のクエリが開始され、最初のクエリの前に返された場合、グラフは正常に描画されます。ただし、最初のクエリが最終的に完了すると、現在のフィルターを無視して、チャートが古いデータで完全に上書きされる可能性があります。
jQuery AJAX オブジェクトを渡す機能があることを読みました。これにより、XHR オブジェクトが公開され、リクエストをキャンセルする XHR で .abort() を呼び出すことができます (ただし、これはサーバー上で処理されますが、それは喜んで受けます)。残念ながら、私はこれの例を見つけることができず、Google のドキュメントはこの点であまり役に立ちません。誰かが同じことに遭遇しましたか?もしそうなら、彼らは問題を解決しましたか?
乾杯、
クリス。