$(item).load()脚本中断(仅在IE11中),适用于开发人员工具

时间:2014-06-27 19:43:35

标签: javascript jquery asp.net-mvc-4 internet-explorer-11

我的功能看起来像这样:

function foo(item) {
    var url = $(item).attr("data-url");
    if (url && url.length > 0) {
        $(item).load(url);
    }
}

此功能由下拉.change()事件触发。 load()调用MVC4 Partial View,它返回html。这一切在Chrome和Firefox中都很好用,但它在IE11中不起作用(我还没有在旧版本的IE中测试过,因为我不支持这种情况下的那些)。但是,只要我在IE中打开开发人员工具,一切都很完美;除了点击F12之外,我不需要做任何事情。

我没有任何"控制台"我的js文件中的代码,服务器正在推回有效的HTML,我无法找到任何其他问题。

我讨厌提出这样一个开放式的问题,但是你可以给我一些关于寻找什么的建议吗?我在网上找到的唯一的东西是拔出任何"控制台"代码(我首先没有)。

非常感谢任何建议/指导。

1 个答案:

答案 0 :(得分:4)

问题是IE正在缓存我的通话结果。 IE的开发人员工具(据我所知)在启用时会自动从页面中删除缓存,这就是为什么当我尝试在IE中调试时我的页面工作的原因。为了解决这个问题,我只需放置代码

$.ajaxSetup({ cache: false });

$(document).ready部分的开头。这使得页面不会缓存任何ajax结果并解决了我的问题。