function partChangeStartEnd(City,DCity,paintid,se,locationS,locationE){ var scityDH = getStartCityDH(locationS);//得到起点城市(AJAX方法)
var ecityDH = getEndCityDH(locationE);//得到终点城市(AJAX方法)
alert('搜索路线');



          createXmlHttpRequest();
 var CitySEUTF = EncodeUtf8(scityDH);
 var DCitySEUTF = EncodeUtf8(ecityDH);

 if(latlonNear == null){
     latlonNear = idNear;
 }
 
var url = "sp.jsp?  City="+CitySEUTF+"&DCity="+DCitySEUTF+"&id="+paintid+"&flag="+se+"&latlons="+locationS+"&latlone="+locationE;

    
scityDH="";
ecityDH="";
    window.location.hash = url;
    xmlHttp.onreadystatechange=handleBusAllStateChange;  
    xmlHttp.open("get",url,true);   
    xmlHttp.send(null); 
}(前面用AJAX方法获得2个城市名,再传到URL 里 返回结果,现在必须在得到城市名后加个ALERT()语句,否则为空值, 试过在得到城市名后 加循环废时间,settimeout()等都没效果,请大家指导谢谢,)

解决方案 »

  1.   

    异步操作只能等着,没啥好办法,除非用光纤,嘎嘎L@_@K...
    var scityDH = getStartCityDH(locationS);//得到起点城市(AJAX方法) 
    var ecityDH = getEndCityDH(locationE);//得到终点城市(AJAX方法) 
    //alert('搜索路线'); while (scityDH == null || ecityDH == null)
    {
    // Do nothing.
    }createXmlHttpRequest(); 
    var CitySEUTF = EncodeUtf8(scityDH); 
    var DCitySEUTF = EncodeUtf8(ecityDH); 
    ...
      

  2.   

    alert后面的代码加载AJAX的回调函数中