Javascript IE6和IE7的innerHTML问题

Javascript IE6和IE7的innerHTML问题,javascript,internet-explorer-6,Javascript,Internet Explorer 6,IE6和IE7的innerHTML问题 我在开发的应用程序中使用了ajax,但IE6和IE7存在问题,它们不支持innerHTML。必须使用什么来修复此问题并实现跨浏览器兼容 示例代码如下所示 function showFAQ(src, target){ xhr.onreadystatechange=function(){ if(xhr.readyState == 4 && xhr.status == 200){ document.get

IE6和IE7的innerHTML问题

我在开发的应用程序中使用了ajax,但IE6和IE7存在问题,它们不支持innerHTML。必须使用什么来修复此问题并实现跨浏览器兼容

示例代码如下所示

function showFAQ(src, target){
     xhr.onreadystatechange=function(){
       if(xhr.readyState == 4 && xhr.status == 200){
         document.getElementById('resultDiv').innerHTML=xhr.responseText;
       }
    }

    str = "?action=get&request="+src;
    xhr.open("GET", "./requests/data.php"+encodeURI(str), true);
    xhr.send();
}
在FireFox中,IE8和其他主流浏览器都可以正常工作。问题在于IE6和IE7

如有任何帮助/建议,将不胜感激

谢谢

试试看

var xmlHttp;

function getXmlHttpObject() {
    var xmlHttp = null;
    try {
        // Firefox, Opera 8.0+, Safari
        xmlHttp = new XMLHttpRequest();
    } catch (e) {
        // Internet Explorer 6+
        try {
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    return xmlHttp;
}

var xhr = getXmlHttpObject();

更新

尝试添加

xhr.send(null);
之后


innerHTML从IE5开始就受支持。我认为您的问题在于xmlhttprequest对象的使用。该版本仅在IE7支持。但是,您可以使用ActiveXObject作为StealthyInja的代码使用。

IE无法使用innerHTML更新只读元素。。。考虑这一点…..) 对于跨浏览器ajax,您可以通过使用ajax(-capable)JS框架(如jQuery、Prototype look)来节省大量的麻烦和时间。我不知道IE7,但对于IE6,您必须使用ActiveXObject。innerHTML在IE6/7+中工作得很好,这不是你的问题。我在IE6中使用ActiveXObject,IE7支持XMLHttpRequest。发布初始化xhr的代码。IE6/7确实支持
innerHTML
——事实上是微软发明的(这是IE5中的专有功能,后来添加到其他浏览器中,并成为DOM标准的一部分)--所以你在问题中对问题的分析是不正确的。我用过这个东西,但它在IE6和IE7中不起作用。Microsoft不完全支持innerHTML。您可以查看此处的帖子:非常感谢您的帮助。@G_Coder:我想您已经尝试了
alert(xhr.responseText).innerHTML
之前,查看该部分是否工作?无论哪种方式,请尝试我的更新上面。我已经尝试,但仍然没有去。我对这个问题非常恼火,所以我使用jQueryAjax,现在一切正常。
str = "?action=get&request="+src;
xhr.open("GET", "./requests/data.php"+encodeURI(str), true);