ajax不在firefox中工作

时间:2012-11-09 13:41:56

标签: php javascript codeigniter

先生,有一些问题。我在codeigniter中使用mac系统 这个ajax代码适用于谷歌浏览器,但不适用于Firefox 我的firefox属性是Mozilla / 5.0(Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.0.19)Gecko / 2010031218 Firefox / 3.0.19

<script>
function showUser(str)
{ 
    if (str=="")
    {
        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)
        { 
            // alert(xmlhttp.responseText);
            document.location.reload(true);

            document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
        }
    }
    xmlhttp.open("POST","http://localhost/first_project/index.php/admin/selectUser/blank?q=" + str,true);
    xmlhttp.send();
}
</script>
请给我解决方案。 提前谢谢。

1 个答案:

答案 0 :(得分:4)

这没有任何意义

        document.location.reload(true);  <-- reload the document

        document.getElementById("txtHint").innerHTML=xmlhttp.responseText;  <--set text

重新加载文档时,有理由设置页面文本。页面正在退出。如果要重新加载页面,为什么要发出Ajax请求?如果您打算这样做,只需使用正常的表单提交。

更改功能以查看正在进行的操作

xmlhttp.onreadystatechange = function () { 
    if (xmlhttp.readyState==4) {
        if (xmlhttp.status==200) { 
            // alert(xmlhttp.responseText);
            document.location.reload(true);
            //document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
        } else {
            //console.error(xmlhttp.status + "\t" + xmlhttp.statusText);
            alert(xmlhttp.status + "\t" + xmlhttp.statusText);
        }
    }
};