gpt4 book ai didi

javascript - $.getJSON() 未加载一致的数据结果

转载 作者:行者123 更新时间:2023-11-28 07:46:38 25 4
gpt4 key购买 nike

我已经尝试了以下 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 页面而不是summary.json 中)会不正确地波动 - 它给出的数字会低于应有的数字。我不知道该怎么做。当我这样做时,阻止缓存页面加载的最佳方法是什么...猜测上面的方法不是最好的方法。

顺便说一句,summary.json 返回类似以下内容:

{“已售出”:34,“平均价格”:133.0323529411764}

感谢您的帮助。我尝试了很多事情但没有成功。

最佳答案

您的缓存失效机制不正确,因为它可以在多次刷新中返回相同的值。您正在使用 1 到 50 之间的随机数的 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-cacheno-store< 等缓存 header 来从服务器端禁用缓存。/

关于javascript - $.getJSON() 未加载一致的数据结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27371160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com