项目场景:
循环显示图片,每个图片要先查图片数量,数量为0显示不存在此图片,大于0则显示最新图片,并且点击图片显示全部历史图片(注:照片路径通过Ajax访问后台获得)
问题描述
一直显示同样的一张照片
原因分析:
通过使用f12,查看文件路径,发现路径是一样的。同时使用js的console.log方法可以得知传参问题
解决方案:
每一次的Ajax的调用都要用方法封装,需要的值传参到方法里面。我这里一开始是ajax套ajax,发现运行机制,成功回调后赋值有点问题。
var Num
$.ajax({
url: xxx,
async: true,
dataType: 'json',
data:{xh:xh},
success: function (response, options) {
Num = response.Num;
$.ajax({
url: xxx,
async: true,
dataType: 'json',
data:{xh:xh},
success: function (response, options) {
这里要用到那个num,但是num值在循环的时候不变。
}
});
}
});
后面使用方法封装起来
var Num
$.ajax({
url: xxx,
async: true,
dataType: 'json',
data:{xh:xh},
success: function (response, options) {
Num = response.Num;
getNum(Num);这里调用方法,传参进去
});
}
});
function getNum(num){
$.ajax({
url: xxx,
async: true,
dataType: 'json',
data:{xh:xh},
success: function (response, options) {
这里要用到那个num,值也是正确的。
}
}
|