Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在防火墙后检索sinatra中的数据时出现问题_Javascript_Ajax_Heroku_Sinatra_Firewall - Fatal编程技术网

Javascript 在防火墙后检索sinatra中的数据时出现问题

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

在我的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, :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);
    }
});