我正在使用Flot在頁面上顯示時間序列數據圖。該圖表適用於單個數據集,但是我想添加按標籤分組的多個數據集的功能。Javascript數組未正確填充
我將JSON輸出格式化爲他們需要正確工作的內容,在繪製之前組合多個數據集時我遇到了問題。
我想將數據集放入seriesArray數組中,但是當我繪製圖時,使用下面的代碼不會填充數組。
在函數末尾的tagsList數組中有數據,所以我設置了以相同的方式填充的seriesArray無濟於事。
我錯過了什麼?
var plotarea = $("#placeholder");
var data;
var plot;
var tagsList=[];
var seriesArray = [];
$.getJSON("/items/getTags.json", function(tagsJSON) {
$.each(tagsJSON, function(key, val) {
tagsList.push(val.name);
$.getJSON("/data/"+val.name+".json", function(json) {
data = [{label:val.name, data:format(json)}];
seriesArray.push(data);
});
});
plot = $.plot(plotarea , seriesArray, {series:{ lines: {show: true},points: {show:true}},
xaxis: {
mode: "time",
timeformat: "%m/%d/%y",
tickDecimals: 0,
minTickSize: [2,"day"]
},
yaxis: {
minTickSize: 1,
tickDecimals: 0
}
});
});
$ .getJSON是一個ajax調用,它是異步的。 – jbabey
您是否確實需要爲每個標籤分別進行AJAX調用? –
如果有一種方法可以格式化JSON數據以允許我使用標記一次讀取它,然後從中解析它,則不一定需要爲每個標記進行AJAX調用。我在我的控制器中使用了與acts_as_taggable_on gem配合使用的rails,其標籤值爲JSON。 – amarcy