在我的.net MVC3 Web应用程序中,我有一个返回一些html代码的ajax调用。我把这个html传递给了一个像这样的div:
$.ajax({
url: 'controller/action',
data: {id: id,},
type: 'GET',
async: false,
success: function (data) {
$("#container").html(data);
},
});
这在所有浏览器中都可以正常工作,除了ie 11.除非我点击页面上的某个地方,否则html不会在#container div中呈现。
如何在不点击ie11的任何地方的情况下获取html进行渲染?
感谢
答案 0 :(得分:3)
$.ajax({
url: 'controller/action',
data: {id: id,},
type: 'GET',
async: false,
success: function (data) {
$("#container").empty().append(data);
},
});
使用append而不是html来避免这些问题。 empty()用于在追加之前清除。
答案 1 :(得分:1)
可能的原因是HTML中的一小段语法是由IE不满意的ajax返回的。在我的情况下,它是由<script>
标记内的HTML注释引起的。 IE倒闭了,但其他浏览器都很好。
我建议删除ajax调用返回的HTML中的所有内容,除了“TEST&#39;”等一行。如果有效则您知道它不是JQuery / Javascript问题。然后,您可以在返回的HTML中添加回行,直到找到IE不满意的行。