Jquery Ajax请求不在IE 10上工作(由于缓存)

idi*_*ous 12 c# jquery internet-explorer asp.net-mvc-4

我想从这开始.我厌倦了IE.我有以下代码:

$(function () {
$("#cal").on('click', "#forward", function () {
    $.ajax({
        url: "Home/Calendar?target=forward",
        type: "GET",
        success: function (result) {
            $("#cal").html(result);
        }
    });
  });
});

 $(function () {
$("#cal").on('click', "#backwards", function () {

    $.ajax({
        url: "Home/Calendar?target=backwards",
        type: "GET",
        success: function (result) {
            $("#cal").html(result);
        }
    });
});
});
Run Code Online (Sandbox Code Playgroud)

它是对C#MVC应用程序中的控制器操作的ajax调用.它只是在日历的几个月里来回取代html.现在我知道你需要重新挂起事件html(),这就是我使用on()JQuery 1.7的原因.我也用过delegate().在FF中,Chrome可以按预期工作.在IE 10中它没有.我很茫然.我知道IE在IE8中与委托有问题,而JQuery <1.5但是事实并非如此.

有谁知道如何解决这个问题?

idi*_*ous 37

我正在回答这个问题,仅供其他人参考.似乎IE正在缓存AJAX请求,原因是我无法理解.

我注意到使用(令人惊讶的好)开发人员工具IE 10提供了我得到的304未修改的响应我的AJAX请求.在Firefox或Chrome中并非如此(200是响应).

我将cache: false选项添加到我的AXAJ JQuery函数中,现在它按预期工作.

IE永远不会抓住我的惊喜.

  • IE是一个缓存怪物 (4认同)