我有一个通过ajax请求检索JSON的javascript。我的问题是浏览器开始缓存对此请求的响应,所以我实际上并没有从服务器获取最新数据,而是使用较旧的缓存版本。
$.getJSON( self.data('pathAllGet'), function( json ) {
self.data('galleryData',json);
self.data(render(self));
});
答案 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。