jQuery .html()函数在IE中不起作用11
问题描述:
在我的.net MVC3 web应用程序中,我有一个ajax调用,它返回一些html代码。我通过这个网站变成一个div像这样:jQuery .html()函数在IE中不起作用11
$.ajax({
url: 'controller/action',
data: {id: id,},
type: 'GET',
async: false,
success: function (data) {
$("#container").html(data);
},
});
这在所有浏览器工作正常,除了即11会发生什么情况是,HTML犯规在#container的DIV渲染,除非我的地方点击页面上。
我怎样才能得到HTML呈现,而无需点击ie11中的任何地方?
感谢
答
可能的原因是HTML中有一小部分语法是由AJAX返回的,IE不满意。在我的情况下,它是由<script>
标记中的HTML注释引起的。 IE浏览器崩溃了,但其他浏览器都很好。
我建议从ajax调用返回的HTML除了'TEST'之外的所有行除外。如果那有效,那么你知道它不是一个JQuery/Javascript问题。然后,您可以在返回的HTML中添加行,直到找到IE不满意的行。
+0
该错误不再是我的客户的问题。林不知道为什么......它可能是一个浏览器的错误,但无论如何,我接受你的答案,因为我同意你的调试方法。它在过去创造了奇迹 – Notaras 2016-02-16 22:21:16
答
$.ajax({
url: 'controller/action',
data: {id: id,},
type: 'GET',
async: false,
success: function (data) {
$("#container").empty().append(data);
},
});
使用附加,而不是HTML来避免这些问题。在追加之前,empty()用于清理。
你有没有设置容器的高度宽度?我认为可能会有这样的问题,即渲染不会发生。 – 2015-03-31 06:37:07
我没有。但我试图设置一个高度和宽度,它仍然没有工作。 – Notaras 2015-03-31 06:43:31
尝试控制台查找错误并检查未关闭的标记。你的html应该是干净的。 ('div')。append(data);'OR'$('div')。appendTo(data);' – 2015-03-31 07:16:15