Javascript 如何访问.ajax()异步函数中的局部变量
我有一个javascript函数,如下所示:Javascript 如何访问.ajax()异步函数中的局部变量,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个javascript函数,如下所示: function reloadToolbar() { var ids = ["#gs_foo"]; var parmName = ["foo"]; for (i = 0; i < ids.length; i++) { $.ajax({url:"myurl?parm="+parmName[i],success:function(result){
function reloadToolbar() {
var ids = ["#gs_foo"];
var parmName = ["foo"];
for (i = 0; i < ids.length; i++) {
$.ajax({url:"myurl?parm="+parmName[i],success:function(result){
$(ids[i]).html(result);
}});
}
}
如何以正确的方式执行此操作?完成的一项工作是在服务器的结果中添加另一个字段
$.ajax({url:"myurl?parm="+parmName[i],success:
function(result){
var ids= $('.whatever');
$(ids[result.index]).html(result.body);}
});
似乎这个问题每天至少被问一次。重复项:,,以及更多。。。这是关于闭包的。顺便说一句,你的
i
变量是全局变量。很好,我以为我疯了。我看了@elclanrs发布的三个链接,无法连接这些点…现在我仔细检查了一下,可能不是这样。。。尽管在success函数闭包中,i
似乎“丢失”。。。
$.ajax({url:"myurl?parm="+parmName[i],success:
function(result){
var ids= $('.whatever');
$(ids[result.index]).html(result.body);}
});