我有JQuery的以下內容:多的getJSON請求裏面陣列
$(document).ready(function() {
var names = ['item1', 'item2'];
var series1 = [{ name: '', data: []}];
var series2 = [{ name: '', data: []}];
var seriesCounter = 0;
....
renderCharts(url, otherUrl);
function renderCharts(url, otherUrl) {
if (otherUrl != '') {
$.each(names, function (i, name) {
$.getJSON('somurl', function (items) {
series1[i].name = name;
$.each(items.somedata, function (j, item) {
series1[i].data.push({
x: Date.parse(item.key),
y: item.value
})
});
seriesCounter++;
if (seriesCounter == names.length) {
... render chart once all data has been downloaded
}
});
});
}
$.getJSON(url, function (items) {
$.each(items.otherData, function (i, item) {
series2[0].data.push({
x: Date.parse(item.Key),
y: item.Value
})
});
// render other chart
});
}
}
我不能得到這個工作。我每次運行這個我從來沒有進入以下條件:
if (seriesCounter == names.length) {
... render chart once all data has been downloaded
}
如果我只有名稱數組中的一個項目,它工作得很好。當我添加兩個時,條件永遠不會變成真,因此我的圖表從不呈現。
我錯過了什麼?
您是否在瀏覽器中使用firebug或google chrome等控制檯測試過它,以查看ajax(json)請求是否爲成功完成? – 2012-03-01 22:02:35
是的,所有請求都成功完成。 – Thomas 2012-03-01 22:20:33