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. Ajax請求後的Javascript變量狀態
- 4. 從'每個'函數的回調函數中訪問變量
- 5. 從一個Ajax請求訪問JSON
- 6. 每個Alamofire請求之前/之後調用一個函數
- 7. 如何從定義函數,而不是調用對象訪問變量狀態
- 8. Jasmine:在調用函數之前測試變量狀態
- 9. 等待一個函數在觸發jQuery Ajax請求之前返回一個值
- 10. 如何從回調函數訪問(和編輯)變量?
- 11. 多個Ajax請求狀態?
- 12. 在yii ajax請求之前和之後調用JavaScript函數ajaxSubmitButton
- 13. extjs:如何在ajax請求成功時訪問ajax請求成功的變量
- 14. 2個函數,2個Ajax請求,如何正確回調
- 15. 回調函數訪問閉包變量?
- 16. 回調函數內的訪問變量
- 17. Ajax請求回調調用另一個函數
- 18. Ajax請求狀態
- 19. 如何從Ajax請求中獲取回調函數的值
- 20. 如何從另一個函數訪問枚舉的狀態
- 21. 蛋糕php paginator和ajax - 如何在ajax請求之前調用函數?
- 22. 當從文件請求時,Jquery Ajax不能訪問回調函數://
- 23. AJAX請求變量問題
- 24. 顯示當前AJAX請求的狀態
- 25. 如何從另一個函數訪問一個變量而不在原始函數中返回該變量?
- 26. Ajax請求中的Javascript回調函數
- 27. 從回調函數中Passport-Facebook訪問請求對象
- 28. 如何從done()函數內的.ajax請求中訪問返回的值
- 29. 訪問javascript中一個回調函數的「外部」變量
- 30. 從cplex回調函數的窗體上訪問狀態欄c#
看到可能的重複 - http://stackoverflow.com/questions/tagged/javascript+closures+loops – Anurag 2011-04-07 07:52:12