日期:2014-05-17  浏览次数:20906 次

诡异的ajax问题,急急急急急!
function processHomeAddress() {
var city = document.f.city;
city.options.length = 0;
if (req.readyState == 4 && req.status == 200) {
var s = req.responseText;
var addrArray = s.split(":");
city.options[0] = new Option("\u57ce\u5e02", "0");
for (var i = 0; i < addrArray.length; i++) {
var cityArray = addrArray[i].split("x");
city.options[i] = new Option(cityArray[1], "" + cityArray[0]);
//alert(addrArray[i]);
}
}
}
function homeAddress() {
var province = document.getElementById("province");
var provinceVal = province.value;
if (req == null) {
createXMLHttpRequest();
}
req.onreadystatechange = processHomeAddress;
req.open("GET", "cityList.html?id=" + provinceVal+"&num="+Math.round(Math.random()*10000));
req.setRequestHeader("If-Modified-Since","0");
req.send(null);
}
在ie8、firefox中该级联下拉列表均可正常执行。在ie6、ie7中ajax只能运行一次,第二次发送异步请求的结果就和第一次的结果一样了,在action中也会相应发送的异步请求,但级联列表就是不显示,求高手解答,急急急!

------解决方案--------------------
一步一步的调式吧,
------解决方案--------------------
多查API
------解决方案--------------------
这种方式的ajax好像要设置浏览器兼容吧 。。就在前面的几句做一个判断。。。
如:
if(window.XMLHttpRequest){
xmlHttp=new XMLHttpRequest();
}else if(window.ActiveXObject){
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){}
}
}