现在的位置: 首页 > 综合 > 正文

AJAX IE-only problem : Unkown runtime error

2012年08月04日 ⁄ 综合 ⁄ 共 621字 ⁄ 字号 评论关闭

当我使用$.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

抱歉!评论已关闭.