防止缓存xmlhttp请求

时间:2015-08-01 09:40:41

标签: javascript php ajax html5 caching

我有一个通过ajax请求检索JSON的javascript。我的问题是浏览器开始缓存对此请求的响应,所以我实际上并没有从服务器获取最新数据,而是使用较旧的缓存版本。

    $.getJSON( self.data('pathAllGet'), function( json ) {
        self.data('galleryData',json);
        self.data(render(self));
    });

1 个答案:

答案 0 :(得分:1)

不要使用getJSON方法。对于不能满足您需求的常见用例,它是一种便利功能。

请改用ajax。这允许您包含缓存清除。

$.ajax({
  dataType: "json",
  url: self.data('pathAllGet'),
  success: function( json ) {
    self.data('galleryData',json);
    self.data(render(self));
  },
  cache: false
});

通过添加cache: false,您可以告诉jQuery在URL中附加一个唯一的字符串。这意味着,下次您请求数据时,您将获得浏览器在其缓存中不会拥有的其他URL。

或者,设置caching rules on the server