使用$ .get()来检索本地HTML在IE8中不起作用

时间:2013-09-30 20:14:41

标签: javascript jquery internet-explorer-8

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

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()返回的'data',它会显示我从我自己的服务器请求的全长html。因此,我完全迷失了可能的原因,任何想法都将受到高度赞赏。谢谢!

1 个答案:

答案 0 :(得分:1)

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

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