解决闭包以解决ajax中的外部变量问题
解决闭包以解决ajax中的外部变量问题在ajax中,我们经常使用外部变量,并且经常使用它,如下所示
功能getcarinfo(){
对于(var i = 0;i < 4;i + +){
CARiD = $(var# carlist0+我+# CARiD )瓦迩();
var请求{ {
城市:城市,
CarId:CARiD
};
$ ajax({
URL:查询
类型:'post,
数据:请求,
/ /异步:假,
成功:函数(数据){
警报(数据);
无功strarr = data.split(# );
$(# carlist0+我+# distributorid)。瓦迩(strarr { 0 });
$(# carlist0+我+# font16)。Html(strarr { strarr。length-1 });
}
});
}
}
我正在寻找警报(1)警报(2)警报(3)警报(4),但实际上三次是警报(4)。
这些都是通过Ajax异步造成的。异步:假可以解决这个问题,但随之而来的很多效率降低。在这一点上,你可以很容易地使用闭包来解决问题:
功能getcarinfo(){
对于(var i = 0;i < 4;i + +){
(函数(i){)
CARiD = $(var# carlist0+我+# CARiD )瓦迩();
var请求{ {
城市:城市,
CarId:CARiD
};
$ ajax({
URL:查询
类型:'post,
数据:请求,
/ /异步:假,
成功:函数(数据){
警报(数据);
无功strarr = data.split(# );
$(# carlist0+我+# distributorid)。瓦迩(strarr { 0 });
$(# carlist0+我+# font16)。Html(strarr { strarr。length-1 });
}
});
}(i))
}
}
谢谢你的阅读。我希望你能帮助你,谢谢你对这个站的支持。