开发者

Ajax code doesn't works in IE

开发者 https://www.devze.com 2023-03-20 12:21 出处:网络
<script type=\"text/javascript\"> function showState(str){ if (str.length==开发者_StackOverflow中文版0){
<script type="text/javascript">
function showState(str){
    if (str.length==开发者_StackOverflow中文版0){ 
        document.getElementById("txtHint").innerHTML="";
        return;
    }
    if (window.XMLHttpRequest){
        // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp=new XMLHttpRequest();
    } else{
        // code for IE6, IE5
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange=function(){
        if (xmlhttp.readyState==4 && xmlhttp.status==200){
            document.getElementById("state").innerHTML=xmlhttp.responseText;
        }
    }

    xmlhttp.open("GET","getState.php?cid="+str,true);
    xmlhttp.send();
}
</script>

This code doesn't works in IE but fine in mozilla and chrome


You have to call send(null) on the xmlhttp-Object. Just add

xmlhttp.send(null);

This will actually send the request.


Have you tried the following:

function createXMLHttpRequest(){
    var xmlHttp = null;
    if(typeof XMLHttpRequest != "undefined"){
        xmlHttp = new XMLHttpRequest();
    }
    else if(typeof window.ActiveXObject != "undefined"){
        try {
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP.4.0");
        }
        catch(e){
            try {
                xmlHttp = new ActiveXObject("MSXML2.XMLHTTP");
            }
            catch(e){
                try {
                    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
                }
                catch(e){
                    xmlHttp = null;
                }
            }
        }
    }
    return xmlHttp;
}

source (http://robertnyman.com/2007/04/04/weird-xmlhttprequest-error-in-ie-just-one-call-allowed/)

0

精彩评论

暂无评论...
验证码 换一张
取 消