我的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页面返回。