jQuery .html() 函数在 IE 11 中不起作用

jQuery .html() function doesnt work in IE 11

在我的 .net MVC3 Web 应用程序中,我有一个 ajax 调用 returns 一些 html 代码。我像这样将 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 渲染?

谢谢

 $.ajax({
            url: 'controller/action',
            data: {id: id,},
            type: 'GET',
            async: false,
            success: function (data) {
$("#container").empty().append(data);


            },
        });

使用 append 而不是 html 来避免这些问题。 empty() 用于在追加之前初始清除。

一个可能的原因是 ajax 返回的 HTML 中有一小段 IE 不满意的语法。在我的例子中,这是由 <script> 标签内的 HTML 注释引起的。 IE崩溃了,其他浏览器还好。

我建议从 ajax 调用返回的 HTML 中删除除了一行 'TEST' 之外的所有内容。如果可行,那么您就知道这不是 JQuery / Javascript 问题。然后,您可以在返回的 HTML 中添加回行,直到找到 IE 不满意的行。