0
我有很多的圖表(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。查看加速服務器端代碼的方法。 – 2012-04-11 15:03:26
另外,您可以在1次調用中查看返回圖形的所有數據,然後分別解析每個圖的JSON。這又取決於你的服務器有多快,以及它接受多少連接,這是否會帶來好處。 – 2012-04-11 15:05:06