好的,這個問題很奇怪。我正在使用getJSON()接收項目列表。對於每個返回的項目,我再次使用getJSON()執行查找。在返回第二次查找時,我嘗試將for循環範圍內的變量追加到DOM,但輸出是同一個。奇怪的是,當我在第二個getJSON()之前發出變量的alert()時,變量就像它應該改變一樣。jQuery的非常奇怪的行爲getJson()不改變循環中的值
這是一個錯誤?好像是的getJSON緩存的東西...
$.getJSON(
"http://someurl",
function(data) {
var items = data.items;
for(i=0; i<items.length; i++) {
var i = items[i];
//when doing an alert of 'i' here, it changes...
$.getJSON(
"http://anotherurl",
function(r) {
$("#feed").append(i.some_property);
//appended item should be different upon each loop
//but ends up appending the same thing every time!!
}
)
}
}
)
我有這樣的感覺。你的回答證實了這一點。 – trinth 2010-10-16 05:23:38
實際上,當我使用console.log時,輸出結果也不同 – trinth 2010-10-16 05:37:14
,thx爲'var'關鍵字提醒。我一直在使用python一段時間,剛回到JS爲一個小應用程序。 – trinth 2010-10-16 05:40:39