这是一个奇怪的问题 - 我有一个非常简单的应用程序,每15秒对一个烧瓶端点进行一次AJAX调用并返回一个数字,该数字经常变化(收件箱数量)。然后它只是一个jquery选择器来用这些数据更新div。
几个月前,当我第一次将这个东西放在一起时,没有任何问题,直到最近我做了一些小的修改时才有点忘记了。现在由于某种原因,页面最初将加载正确的计数,但是当进行AJAX调用时,它不会在Chrome中更新,但在Safari中也会更新(尚未测试其他浏览器)。它用于两者都很好。我非常有信心这与我所做的改变无关,因为它非常简单,它肯定不仅会影响一个浏览器。
我可以看到在两个浏览器的开发工具的网络部分中对端点进行的调用,并且它正在返回数据应该是,这只是Chrome中的数据永远不会改变。就好像chrome正在缓存那个值或者什么东西一样,所以它会调用AJAX但忽略新值并且只使用几次迭代之前的内容。
如果我直接在浏览器中点击AJAX端点,它可以正常工作。它只是Chrome中的AJAX调用,可以保留“陈旧”数据。
任何想法会导致什么?
编辑:以下代码
function outer(){
var play_count=0
function updateRefunds() {
$.getJSON('/countdown', function (data) {
if(data.refunds==0){
$('#canvas').show()
$('#refunds').hide()
if (play_count==0){
$('#katy')[0].play()
play_count++
}
}
$('#refunds').text(data.refunds);
});
}
return updateRefunds
}
var savestate=outer()
setInterval('savestate()', 15000);//every 15 sec