如下代码,为什么在创建XMLHttpRequest时是一串文本而不是一个对象,要使用AJAX需要配置什么文件吗?<script language="javascript" type="text/javascript">
var xmlHttp ;
var flag_userid = false ;
function createXMLHttp(){
if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest() ;
} else {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP") ;
}
}
function ajaxCheckUserid(username){
createXMLHttp() ;
xmlHttp.open("POST","~/User/Validate.aspx?UserName"+username) ;
xmlHttp.onreadystatechange = checkUseridCallback ;
xmlHttp.send(null) ;
document.getElementById("userid_msg").innerHTML = "正在验证..." ;
}
function checkUseridCallback(){
if(xmlHttp.readyState == 4){
if(xmlHttp.status == 200){
var text = xmlHttp.responseText ;
//alert(text);
if(text == "true"){ // 用户id已经存在了
flag_userid = false ;
document.getElementById("userid_msg").innerHTML="<font size='-1' color='#FF0000'>此用户ID已经存在,请重新输入</font>";
}else{
flag_userid=true;
document.getElementById("userid_msg").innerHTML="<img  src='../images/yes_point.gif'/>";
}
}
}
}
</script>

解决方案 »

  1.   

    http://www.cnblogs.com/shunyao8210/archive/2008/11/24/1339718.html
    不错的
      

  2.   

    这些都有看过了,只是我在写的时候window.调查的对象中没有XMLHttpRequest。而且在使用xmlHttp = new XMLHttpRequest() ;时后面的XMLHttpRequest() 也是要自己输入的,很多XMLHttpRequest对象的方法都用不了
      

  3.   


    var request = false;
    if(window.XMLHttpRequest) {
    request = new XMLHttpRequest();
    if(request.overrideMimeType) {
    request.overrideMimeType('text/xml');
    }
    } else if(window.ActiveXObject) {
    var versions = ['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.7.0', 'Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP'];
    for(var i=0; i<versions.length; i++) {
    try {
    request = new ActiveXObject(versions[i]);
    if(request) {
    return request;
    }
    } catch(e) {
    //alert(e.message);
    }
    }
    }
    return request;
      

  4.   

    本帖最后由 net_lover 于 2011-10-10 12:47:56 编辑