Javascript 在防火墙后检索sinatra中的数据时出现问题
在我的Sinatra应用程序中,我在头版显示了一个不断更新的随机推文列表:(推文不是实时的,它们只是我存储在MongoHQ上MongoDB数据库中的推文列表)Javascript 在防火墙后检索sinatra中的数据时出现问题,javascript,ajax,heroku,sinatra,firewall,Javascript,Ajax,Heroku,Sinatra,Firewall,在我的Sinatra应用程序中,我在头版显示了一个不断更新的随机推文列表:(推文不是实时的,它们只是我存储在MongoHQ上MongoDB数据库中的推文列表) /tweet页面仅从数据库中获取一条随机tweet,并将其显示为一行: get '/tweet' do @tweet = coll.find().limit(-1).skip(rand(coll.count())).first()['text'] # get a random tweet haml :tweet, :layou
/tweet
页面仅从数据库中获取一条随机tweet,并将其显示为一行:
get '/tweet' do
@tweet = coll.find().limit(-1).skip(rand(coll.count())).first()['text'] # get a random tweet
haml :tweet, :layout => false
end
我已经在Heroku上部署了这个应用程序,当我在家访问它时,它可以正常工作。然而,当我在工作时访问该应用程序时(从与在家中相同的笔记本电脑和浏览器),它只是在首页上一遍又一遍地显示相同的推文(但每次转到“/tweet”正确地显示随机推文)。你知道问题出在哪里吗?我的javascript更新调用是否因为某种原因无法工作,因为我在防火墙后面(但问题不是只显示一行,然后更新停止,问题是列表不断地向列表中添加相同的tweet)?听起来像是缓存问题。尝试明确禁用缓存:
$.ajax({
method: 'GET',
url: '/tweet',
cache: false,
success: function(data) {
$("table tr#header:first").after(data);
}
});
$.ajax({
method: 'GET',
url: '/tweet',
cache: false,
success: function(data) {
$("table tr#header:first").after(data);
}
});