フュージョン チャートを使用してレンダリングされた複数のチャートを含むページがあり、データを入力するためにデータベースから大量のデータを取得しています。一部のチャートがタイムアウトになり、継続的なスピナーが発生し、http 要求が中止されます。そのグラフの URL がブラウザで個別に実行されると、同じグラフが表示されます。jquery.ajax 呼び出しのタイムアウト値を増やしましたが、うまくいきません。フラッシュ プレーヤー レベルでタイムアウトが発生すると想定しています。このタイムアウトの問題を処理するにはどうすればよいですか?
1344 次
1 に答える
2
これが発生する理由はさまざまで、回避策もいくつかあります。
- FusionCharts の最新バージョンを使用していますか? そうでない場合は、アップグレードすることをお勧めします。FusionCharts の新しい JavaScript フレームワークは、AJAX を使用してデータをフェッチします。これは、より安定して信頼できるものになる可能性があります。すでに最新バージョンを使用している場合は、非推奨の API ( など
.setDataURL
) を使用していないこと、および純粋な HTML 埋め込みメソッドを使用していないことを確認してください。 - また、推奨されているよりも多くのデータポイントを配置しようとしており、すべてのチャートをレンダリングするには負荷が大きすぎる可能性があります. 一般に、チャートは 300 ~ 500 ポイントで適切に表示されます (構成が単純な場合はさらに高くなります)。円グラフは 100 ポイントまで有効です。データが多すぎる場合は、
ZoomLine
グラフを使用してみてください。 - その他の理由として、ネットワーク負荷が考えられます。同時に読み込もうとするデータが多すぎると、ブラウザが接続を中止したりタイムアウトしたりします。接続が遅いか、古いブラウザを使用していますか? ずらした方法でチャートをチェーンロードしてみてください (つまり、1 つのチャートが
FC_Rendered
イベントを起動すると、次のチャートがレンダリングされます... など)。 - jQuery AJAX を使用してデータを直接取得することもできます。すべてのデータが読み込まれたら
XML
、.setXMLData()
.
グラフの JavaScript バリアントを使用している場合でも、これが発生するかどうかを確認することもできます。そうでない場合は、それを使い続けることができます。
PS: この方法で回答するのが遅くなります...しかし、まだループにいる場合は、役立つかもしれません。:P
于 2012-04-26T18:54:43.257 に答える