代码之家  ›  专栏  ›  技术社区  ›  Chris

jquery在IE中缓存Ajax请求,即使设置了“false”

  •  9
  • Chris  · 技术社区  · 14 年前

    我有以下代码

    $.ajax({type: "GET",
      url: "/" + filename,
      dataType: "xml",
      cache: "false",
      success: function(xml)
    {
        /* Parsing code here */
    }});
    

    在chrome等中,请求没有被缓存,但是它们在ie中。我是否正确地构造了我的请求?

    2 回复  |  直到 14 年前
        1
  •  22
  •   Matt user129975    14 年前

    cache 应该是布尔值,而不是字符串:

    $.ajax({type: "GET",
      url: "/" + filename,
      dataType: "xml",
      cache: false,
      success: function(xml){
        /* Parsing code here */
      }  
    });
    
        2
  •  0
  •   Dustin    14 年前

    可能是您返回的XML文件的mimetype? http://www.nerdydork.com/ie-json-caching-bug.html

    我博客上的一位评论建议在JSON请求中添加一个时间字符串:

    我不会信任设置 在.ajaxsetup中将缓存关闭。

    所以只需在末尾添加一个时间字符串 每个JSON请求,例如

    $.getjson(_/url/__,data:123,t: (new date()).getTime(), 函数(数据)//做任何事情);