AJAX IE-only problem : Unkown runtime error

当我使用$.get(url,data,callback)获取一段html并将其添加到容器issueReportContainer中时,我的callback是这样写的:

1  function  appendContentToIssueReport(o)
2  {
3     $( " #issueReportContainer " ).attr( " innerHTML " ,o.responseText);
4  }

这段代码在Firefox 3.0下能正常工作,但是在IE8,IE7中却不行。debugger后发现,语句$("#issueReportContainer").attr("innerHTML",o.responseText);产生了一个"Unknown runtime error" 异常。经过思考与查阅资料后才明白,在IE中必须先创建一个新的element,将内容添加到新的元素中,然后再将新的元素添加到容器中才行。应用这个办法,将callback更改如下后即可正常工作:

1  function  appendDataToDiv(o)
2  {
3  $( " <div/> " ).attr( " innerHTML " ,o.responseText).appendTo( " #issueReportContainer " );
4  }

参考资料:http://www.mercurytide.com/knowledge/white-papers/issues-working-with-ajax

你可能感兴趣的:(Runtime)