私は同じページに生成するチャート(hightchart)をたくさん持っている、そしてそれはすべての私のチャートをロードするために、少なくとも5-6秒かかる。..ajax-jsonリクエストで複数の.eachを最適化する方法は?
htmlのページ:
<div class="graph_score" title="2" >
<div class="graph_score" title="3" >
<div class="graph_score" title="4" >
<div class="graph_score" title="5" >
....
私のjqueryの:
$(".graph_score").each(function() {
id_graph = $(this).attr("title");
$.getJSON('http://' + document.domain + '/school/teachers/generate_score/graph' + id_graph, function(data) {
options = data;
options.tooltip = {
formatter: function() {
var extrafield = this.series.options.extrafield;
var extrafield2 = this.series.options.extrafield2;
var extrafield3 = this.series.options.extrafield3;
return '<b> Note: ' + this.y + ' % <br/>' + '<b>Nom de l\'examen:</b>' + extrafield[this.point.x - 1] + '</b><br/><b>Pondération</b>' + extrafield2[this.point.x - 1] + "<br /><b>Date</b>" + extrafield3[this.point.x - 1];
}
}
chart = new Highcharts.Chart(options);
});
})
このページをより速くレンダリングするために何かできますか?
*私の問題は私のスクリプト呼び出しは8時間ですhttp:// '+ document.domain +'/school/teachers/generate_scoreその8 DOM要求.....しかし、私は知りませんそれを最適化する...
Thxを
スクリプトにタイマーを追加して、ボトルネックがどこにあるのかを確認してください。これは、AJAXリクエスト内のデータの取得またはデータの表示のいずれかにあります。私の推測では、それは時間を取っているAJAXだということでしょう。サーバーサイドのコードを高速化する方法を見てみましょう。 –
また、1回の呼び出しでグラフのすべてのデータを返してから、各グラフのJSONを個別に解析することもできます。繰り返しますが、これはサーバーの速さと、これが利点となるかどうかを受け入れる接続の数によって異なります。 –