for迴圈內執行ajax出現非同步載入問題
阿新 • • 發佈:2019-02-20
問題的解決方式是新增$(function(i){}(i),如下所示:
api.ajax({ url: areaListUrl, method: 'post', data: { values: { cid:aid } } }, function(ret, err) { // alert(JSON.stringify(ret)); if(ret.status == 1){ if(ret.result){ var html = ''; for(var i = 0;i < ret.result.length;i++){ // html += '<li class="zhankai" onclick="selectqu(\''+ret.result[i].cid+'\',\''+ret.result[i].name+'\')"><a href="#">'+ret.result[i].name+'</a></li>' $(function(i){ api.ajax({ url: areaListUrl, method: 'post', data: { values: { cid:ret.result[i].cid } } }, function(ret2, err2) { // console.log(JSON.stringify(ret2)); if(ret2.status == 1){ html = '<li class="zhankai" onclick="selectqu(\''+ret.result[i].cid+'\',\''+ret.result[i].name+'\')"><a href="#">'+ret.result[i].name+'</a></li>' }else if(ret2.status == 0){ html = '<li onclick="selectshi(\''+ret.result[i].cid+'\',\''+ret.result[i].name+'\')"><a href="#">'+ret.result[i].name+'</a></li>' } $('.homeaddress ul').append(html); }); }(i)) } } } });