给一个分公司调试看问题,她说ajax调用,返回结果不对。每次ajax请求获取一张图片,然后循环调用ajax,结果是页面显示是重复一张图片,而且很混乱,有时候还出来的效果不一样。看了一下她的代码,发现这是ajax异步造成的。
给出的方案是,让后台统一返回,但是后台由于加密获取方式等原因修改不了,然后看了一下网上的循环调用ajax请求的方式:递归;
重点看下面的代码:
currentIndex = 0;
function getImg(){
if(currentIndex>=items.length){
return;
}
var url = item[url];
console.log(i);
$.ajax({
type: 'get',
url: url,
dataType: "json",
async: false,
cache: true,
success: function(json){
currentIndex++;
console.log("test");
var img = json.img;
getImg();
},
error: function(data){
console.log("error...");
currentIndex++;
getImg();
}
});
}
欢迎关注我的公众号一起学习交流:
勤奋的菜才是我