怎样可以让ajax加载完后,才执行后面的代码?

时间:2021-08-06 00:37:19
if(xmlhttp.readyState==4 && xmlhttp.status==200)
{
  region.loadRegions(data[0]['country'], 1, 'selProvinces');  //ajax载入级联国家对应的省份id
  //alert('');
  for (i = 0; i < document.getElementById('selDistricts').options.length; i ++ )  //循环省份id
  {
    if(document.getElementById('selDistricts').options.value == data[0]['district'])  //如果循环省份id == 记录id
    {
      document.getElementById('selDistricts').options.selected =true;  //省份id 设为 selected
      break;
    }
  }
}
 

因为还没有加载完:region.loadRegions(data[0]['country'], 1, 'selProvinces');  
在没有加载完的情况下运行后面的:for...
就达不到想要的效果

如果在region.loadRegions()后加个alert(''),按alert的同时就等于把region.loadRegions()全部加载完了,再执行alert('')后面的for,这样就达到想要的效果

怎样才可以让ajax全部加载完region.loadRegions()后,再执行后面的for代码?(不要alert)谢谢~

3 个解决方案

#1


写在回调方法里

#2


去看了回调函数,不知道要怎么做~~可不可以说详细一点?谢谢!

#3


region.loadRegions  方法里加个回调方法 
 region.loadRegions(data[0]['country'], 1, 'selProvinces',callback);
在callback方法里写下面的代码

#1


写在回调方法里

#2


去看了回调函数,不知道要怎么做~~可不可以说详细一点?谢谢!

#3


region.loadRegions  方法里加个回调方法 
 region.loadRegions(data[0]['country'], 1, 'selProvinces',callback);
在callback方法里写下面的代码