我已尝试使用以下jQuery代码
$(this).ready(function(){
$.getJSON('json/summary.json?nocache=<?=md5(rand(1,50))?>', function(data) {
var sold = data.sold;
var price = data.averagePrice.toFixed(2);
});
});
出于某种原因,当我刷新或点击页面时,销售的数字 - 在jquery页面中NOT summary.json - 波动不正确 - 它会给出低于它应该的数字。我不知道该怎么做。虽然我对它有所了解,但阻止缓存页面加载的最佳方法是什么......猜测上述内容并不是最好的方法。
BTW,summary.json返回类似的内容:
{&#34;出售&#34;:34,&#34; averagePrice&#34;:133.0323529411764}
感谢您的帮助。我尝试过很多事情都没有成功。
答案 0 :(得分:0)
您缓存失效机制不正确,因为它可以在多次刷新时返回相同的值。您正在使用1和1之间的随机数的md5。因此多次尝试可以返回相同的随机值。
$(document).ready(function () {
$.getJSON('json/summary.json?nocache=' + new Date().getTime(), function (data) {
var sold = data.sold;
var price = data.averagePrice.toFixed(2);
});
});
另一种选择是为所有jQuery ajax请求全局设置缓存选项,如
$.ajaxSetup({cache:false})
然后
$(document).ready(function () {
$.getJSON('json/summary.json', function (data) {
var sold = data.sold;
var price = data.averagePrice.toFixed(2);
});
});
但是,如果您不想缓存特定资源值,则可以通过设置no-cache
和no-store