for(i in an_object){
$.getJSON("http//www...." + "?callback=?",'', function(data){
// do something using what the value of i from when the JSONP request was sent
// but i is always the last value in an_object because the loop
// has finished by the time the callback runs.
);
});
}
0
A
回答
0
我通過將ajax調用放入匿名函數中解決了這個問題。例如:
for(i in an_object){
(function(i){
$.getJSON("http//www...." + "?callback=?",'', function(data){
// i now remembers its state.
});
})(i);
}
0
如果你只需要一個變量,你可以使用代理綁定它作爲背景的功能:
var state=1, callbackfunction = function(data) {
if (this===1) {
//something based on state
}
}
$.getJSON("http//www..",'', jQuery.proxy(callbackfunction , state));
+0
感謝您的輸入,但我發現了一個更好的解決方案,它接受任意數量的參數 - 見我回答。 – SystemicPlural 2011-04-07 13:28:03
相關問題
- 1. 如何訪問ajax回調函數內部的表單狀態
- 2. 如何從AJAX請求傳遞兩個回調函數相同的變量?
- 3. 從'每個'函數的回調函數中訪問變量
- 4. 每個Alamofire請求之前/之後調用一個函數
- 5. Jasmine:在調用函數之前測試變量狀態
- 6. 等待一個函數在觸發jQuery Ajax請求之前返回一個值
- 7. 如何從定義函數,而不是調用對象訪問變量狀態
- 8. 如何從回調函數訪問(和編輯)變量?
- 9. extjs:如何在ajax請求成功時訪問ajax請求成功的變量
- 10. 2個函數,2個Ajax請求,如何正確回調
- 11. Ajax請求回調調用另一個函數
- 12. 回調函數訪問閉包變量?
- 13. 如何從Ajax請求中獲取回調函數的值
- 14. Ajax請求狀態
- 15. 如何從另一個函數訪問枚舉的狀態
- 16. 顯示當前AJAX請求的狀態
- 17. Ajax請求中的Javascript回調函數
- 18. 如何從另一個函數訪問一個變量而不在原始函數中返回該變量?
- 19. 從回調函數中Passport-Facebook訪問請求對象
- 20. 訪問javascript中一個回調函數的「外部」變量
- 21. 如何從done()函數內的.ajax請求中訪問返回的值
- 22. 如何從bootstrap訪問當前請求?
- 23. 從被調用函數的回調函數中訪問函數變量
- 24. Node JS如何從函數的回調函數中訪問全局變量?
- 25. 訪問socket.io回調函數之外的變量
- 26. 如何在請求之前設置動態變量?
- 27. AJAX請求狀態返回0
- 28. 如何從函數訪問父變量
- 29. 從另一個類被調用的函數中訪問變量
- 30. 在jQuery中,如何從$ .ajax回調函數中訪問$(this)?
看到可能的重複 - http://stackoverflow.com/questions/tagged/javascript+closures+loops – Anurag 2011-04-07 07:52:12