2011-07-05 122 views
0

我的Ajax代码在IE8中不起作用,但它在Firefox中起作用。我尝试了几种不同的方式,人们在互联网上发布,但他们似乎都没有工作。为什么我的Ajax代码不能在IE8中工作?

这里是我的代码工作,只是没有在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数据库获取数据来填充新的选择方法。

+4

更好的解决方案:http://api.jquery.com/jQuery.ajax/ – MacMac

+0

只是一个提示:我建议你使用jQuery或类似的ajax库,它将照顾所有的浏览器差异,以及当出现问题时给你体面的错误。 –

回答

0

删除if语句的这一部分:&& xmlhttp.status==200和你应该是好(这似乎是在IE中的错误)

+0

感谢您的回应,但这'没有'的工作。 – TheRealDK

0

什么类型你得到错误的。张贴的错误信息......

也确保没有从php页面返回的javascript函数。

相关问题