在IE7.0下使用XMLHTTPRequest的问题

    在用户登录的过程中,运用了AJAX技术,但是在创建XMLHTTPRequest对象时,客户端的IE如果是IE7.0就不成功。部分代码如下:

    <script language="javascript">
    var xmlHttp;
    function createXMLHTTPRequest()
    {
        if (window.XMLHttpRequest)
        {
            xmlHttp = new XMLHttpRequest;//Mozilla浏览器
        }
        else if (window.ActiveXObject)
        {
            try
            {
                xmlHttp = new window.ActiveXObject("Msxml2.XMLHTTP");//IE的老版本
            }
            catch(e)
            {}
            try
            {
                xmlHttp = new window.ActiveXObject("Microsoft.XMLHTTP");//IE的新版本
            }
            catch(e)
            {}          
        }
               
        if (typeof(xmlHttp) == "undefined")
        {
            alert("不能创建XMLHttp对象实例!");
            return false;
        }
    }
   
    function checkLogin()
    {
        if (document.getElementById("userName").value == "")
        {
            document.getElementById("WrongTips").innerHTML = "<font color=red>用户名不能为空!</font>";
            //alert("用户名不能为空!");
            return false;
        }
        if (document.getElementById("userPWD").value == "")
        {
            document.getElementById("WrongTips").innerHTML = "<font color=red>密码不能为空!</font>";
            //alert("密码不能为空!");
            return false;
        }
        createXMLHTTPRequest();//创建XMLHTTPRequest对象
        var url = "login.aspx?userName=" + document.getElementById("userName").value +"&userPWD=" + document.getElementById("userPWD").value;
        xmlHttp.open("GET",url,true);       
        xmlHttp.onreadystatechange = handleState;//回调函数
        xmlHttp.send(null);
    }
   
    function handleState()
    {
        if (xmlHttp.readystate < 4)
        {
             document.getElementById("WrongTips").innerHTML = "正在登录,请稍候……";
        }
       
        if (xmlHttp.readystate == 4)//判断对象状态
        {
            if (xmlHttp.status == 200)//信息成功返回,开始处理信息 
            {
                //得到返回的信息
                if (xmlHttp.responseText == "true")
                {
                    //登录成功
                    location.href = "index.aspx";
                }
                else
                {
                    //用户名或密码错误
                    document.getElementById("WrongTips").innerHTML = xmlHttp.responseText;
                }
            }
        }
    }
    </script>

    奇怪,按道理,在判断IE版本的时候,使用window.ActiveXObject("Microsoft.XMLHTTP")应该就是对应的IE新版本啊,而且在IE6.0下可以正常使用。郁闷,明天来解决这个问题。

转载于:https://www.cnblogs.com/bobomouse/archive/2007/06/12/781083.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值