代码:
$(function(){
var Name = [];
for($i=1; $i<16; $i++) {
var id = $i;
$.post("./index.php", {
record : id
}, function(data){
Name.push(data);
});
}
alert(Name);
});数据返回结果为<a href="#"><img src="./name.jpg"></a>
请告诉我为什么数据不加到数组中?
发布于 2013-01-29 17:51:36
因为您正在进行异步操作(AJAX调用),所以只有在请求完成之后,才会更新您的数据。因此,您应该在ajax调用完成后检查数组。
使用jQuery deferred objects的方法,可以很容易地实现这一点:
$(function(){
var Name = [];
var requests = [];
for($i=1; $i<16; $i++) {
var id = $i;
requests.push($.post("./index.php", {
record : id
}, function(data){
Name.push(data);
}));
}
$.when.apply($,requests).done(function(){
alert(Name);
});
});https://stackoverflow.com/questions/14579794
复制相似问题