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