0

我有以下函数用于在我的应用程序中呈现部分视图。然而,它并没有填充我用任何内容传递它的元素。

function RenderPartialView(view, contentcontainer, maskcontainer, params) {
     $.get(view, params, function (data) {
     $("#" + contentcontainer).html(data);
     $(maskcontainer).unmask();
    })       
}

我在我的应用程序中通过各种方法调用此函数,到目前为止,它没有遇到任何问题。但目前,我在页面前添加了一个 div,然后从类似的方法调用此函数,以便用来自 RenderPartialView 的 html 数据填充 div。

loadExpandedDashboard: function () {
    RenderPartialView('../Metrics/ExpandedDashboard', 'expanded-view', '#expanded-view');
}

在所有其他浏览器中一切正常,在 IE8 中我没有收到任何控制台错误,并且在运行基本错误检查回调时一切都很干净。如果我记录从 $.get() 返回的“数据”,它会显示我从自己的服务器请求的全长 html。因此,我完全不知道可能是什么原因,任何想法都将不胜感激。谢谢!

4

1 回答 1

1

我的猜测是返回的 HTML 中有一些东西 - 缺少或乱序标签等 - IE 遇到了问题。众所周知,IE 对在 html() 方法中接受的标记很挑剔,而其他浏览器则更为宽松。

奇怪的是,当 jQuery 的 html() 函数不起作用时,直接设置 innerHTML 属性有时会起作用。

于 2013-10-02T15:39:48.630 回答