我的功能看起来像这样:
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,我无法找到任何其他问题。
我讨厌提出这样一个开放式的问题,但是你可以给我一些关于寻找什么的建议吗?我在网上找到的唯一的东西是拔出任何"控制台"代码(我首先没有)。
非常感谢任何建议/指导。
答案 0 :(得分:4)
问题是IE正在缓存我的通话结果。 IE的开发人员工具(据我所知)在启用时会自动从页面中删除缓存,这就是为什么当我尝试在IE中调试时我的页面工作的原因。为了解决这个问题,我只需放置代码
$.ajaxSetup({ cache: false });
在$(document).ready
部分的开头。这使得页面不会缓存任何ajax结果并解决了我的问题。