ajax的onreadystatechange问题
各位前辈,如下程序,function processRequest()函数里的xmlhttp代码都没被执行,我测试了xmlhttp.readyState==4和
xmlhttp.status==200都为真,而且在函数体的第一行放入alert(“1”)测试都有5个1出来,表明状态确实改变了5次,可是只要函数里一放入xmlhttp属性代码就都没办法执行下去,后来我把alert(xmlhttp.responseText);直接放到xmlhttp.send(null);后面,我想要的数据就出来了,说明xmlhttp的属性都有取值的,可为什么就是在processRequest()里这些代码都得不到执行呢?请大家知道的帮忙解决下哦,郁闷死了。。。。
function doAjax(url){
var xmlhttp;
try{
xmlhttp = new ActiveXObject("Msxm12.XMLHTTP");
}catch(e){
try{ xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
try{
xmlhttp = new XMLHttpRequest();
if(xmlhttp.overrideMimeType){
xmlhttp.overrideMimeType("text/xml");
}
}catch(e){}
}
}
//alert("3");
if(!xmlhttp){
window.alert("不能创建XMLHttpRequest对象实例");
return false;
}
xmlhttp.onreadystatechange = processRequest;
xmlhttp.open("get",url,true);
xmlhttp.send(null);
//alert(xmlhttp.responseText);
}
function processRequest(){
if(xmlhttp.readyState==4){
if(xmlhttp.status==200){
alert(xmlhttp.responseText);
}else{
alert("请求处理返回的数据有异常");
}
}else{ alert("处理数据未返回");}
}
function dataCheck(){
var f=document.form1;
var username=f.UserName.value;
if(username=="")
{
alert("用户名为空");
f.UserName.focus();
return false;
}else{
//alert("2");
doAjax("check.jsp?username="+username);
}
}