2

我有这个代码:

function render_message(id)
{
var xmlHttp;
  xmlHttp=new XMLHttpRequest();  
  xmlHttp.onreadystatechange=function()
    {
    if(xmlHttp.readyState==4)
      {
        document.getElementById('message').innerHTML=xmlHttp.responseText;
        document.getElementById('message').style.display='';
        }
    }
    var url="include/javascript/message.php";
    url=url+"?q="+id;
  xmlHttp.open("GET",url,true);
  xmlHttp.send(null);
}

由于某种原因,它在 IE 中不起作用,并且在“document.getElementById('message').innerHTML=xmlHttp.responseText;”这一行报告了错误 带有“未知的运行时错误”。

任何人都可以帮忙吗?

编辑:添加到 div 的代码是有效的代码等。

这是回应:

<div style="margin-left:auto;margin-right:auto;width:400px;">
    <img src="/forum/img/avatars/2.gif" width="90" height="89" style="float:left;">
    <div style="margin-left:100px;">
        <span style="font-size:16pt;">Sam152</a></span><br>
        <span style="font-size:10pt;text-transform:uppercase;font-weight:bold;">From Sam152</span><br>
        <span style="font-size:10pt;font-weight:bold;">Recieved April 17, 2009, 9:44 am</span><br>
        <br><br>

    </div>
</div>
<div style="margin-left:auto;margin-right:auto;width:400px;">
        asd</div>
<div style="margin-left:auto;margin-right:auto;width:400px;text-align:right;padding-top:10px;">
        <span onClick="requestPage('http://www.gametard.com/include/scripts/delete_message.php?id=14');document.getElementById('message14').style.display='none';document.getElementById('message').style.display='none';" class="button">Delete</span>
        <span onClick="document.getElementById('message').style.display='none';" class="button">Close</span>
        <span onClick="document.getElementById('to').value ='Sam152';document.getElementById('to').style.color ='#000';document.getElementById('newmessage').style.display='';" class="button">Reply</span>     

</div>
4

4 回答 4

5

不确定以下是否适用于您,因为您没有提及您使用的 ie 版本。

仅适用于 ie7 以上

var xmlhttp=new XMLHttpRequest();

在 Internet Explorer 5 和 6 中,您必须使用

var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
于 2009-04-17T14:44:55.827 回答
2

你的问题。

本质上,您正在尝试添加在您添加它的上下文中没有意义的 HTML。在没有 ul 的地方添加 li,或者在没有 table 的地方添加行会导致这种事情。

于 2009-04-17T14:31:40.147 回答
2

相信我:使用 Ajax 框架。

jQuery 或原型或任何其他。

不要自己动手——你只是看到了这个问题的跨浏览器冰山一角。

如果您必须自己做,请xmlHttp.status在收到您的消息之前检查。请记住,IE 有时会在此处返回 Windows 错误代码而不是 HTTP 状态,如果错误是连接丢失而不是 HTTP 状态,旧版 FX 会引发异常。

哦,IE6 仍然占网络市场的 30% 和企业市场的 60%,所以@Paul Whelan 的建议也值得一试。

于 2009-04-17T14:52:31.703 回答
1

如果结果是无效的 HTML - 例如<a><a>foo</a></a><a><p>foo</p></a>.

如果没有看到更多代码(“消息”是什么类型的元素以及 responseText 是什么),很难说更多。

您的代码无效:

<span style="font-size:16pt;">Sam152</a></span>
                                    ^^^^
于 2009-04-17T14:36:29.403 回答