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

时间:2015-03-31 06:27:38

标签: jquery ajax asp.net-mvc-3 internet-explorer-11

在我的.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进行渲染?

感谢

2 个答案:

答案 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不满意的行。