为什么我的Ajax代码不工作在IE8


Why is my Ajax code not working in IE8?

我的Ajax代码不能在IE8中工作,但可以在Firefox中工作。我试过人们在互联网上发布的几种不同的方法,但似乎没有一种有效。

这是我的代码工作,只是不是在IE8:

function populatematerial(str)
{
    if (str=="") {
      document.getElementById("txtHint").innerHTML="";
      return;
    }
    var xmlHttp = null;
    if (window.XMLHttpRequest) {
     // IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
    }
    else{
     // IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function()
    {
      if (xmlhttp.readyState==4 && xmlhttp.status==200) {
        document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
      }
    }
    xmlhttp.open("GET","GetMySQLData.php?q="+str,true);
    xmlhttp.send();
}

在PHP文件中,它只是从MySQL数据库获取数据来填充一个新的select方法。

删除if语句的这一部分:&& xmlhttp.status==200,你应该很好(这似乎是IE中的一个bug)

你得到什么类型的错误…发布错误信息…

还要确保没有javascript函数从PHP页面返回。