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

posted on 2008-10-29 20:49  James.H.Fu  阅读(534)  评论(3编辑  收藏  举报

导航