Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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
Jquery 不可预测的访问控制允许源行为_Jquery_Ruby On Rails_Ajax_Google Chrome - Fatal编程技术网

Jquery 不可预测的访问控制允许源行为

Jquery 不可预测的访问控制允许源行为,jquery,ruby-on-rails,ajax,google-chrome,Jquery,Ruby On Rails,Ajax,Google Chrome,我有一个Rails应用程序,具有以下操作: def some_action headers['Access-Control-Allow-Origin'] = 'http://www.example.com' headers['Access-Control-Request-Method'] = 'GET' headers['Access-Control-Max-Age'] = '1728000' n = Model.getNumber render :json =>

我有一个Rails应用程序,具有以下操作:

def some_action

  headers['Access-Control-Allow-Origin'] = 'http://www.example.com'
  headers['Access-Control-Request-Method'] = 'GET'
  headers['Access-Control-Max-Age'] = '1728000'

  n = Model.getNumber
  render :json => {:count => n}
end
我在example.com上有一些jQuery,它对该操作执行
$.getJSON
。奇怪的是,这种行为完全不可预测。每隔几秒钟运行一次这些GET请求,大约50%的请求会失败,并显示可怕的“访问控制不允许源站允许源站”消息

我真的希望它要么100%工作,要么100%失败。为什么它在多个请求中的行为会有所不同,与同一个浏览器相隔几秒钟


编辑:我正在缓存该操作。。。我不确定这是否有什么不同。

这听起来像是缓存问题。如果您使用的是HTML缓存,则可能会删除标头,或者如果您正在缓存代码中的数据,请确保添加标头。

失败和后续请求的标头是否相同?请求标头是。。。响应头不是。我觉得这像是缓存问题。如果您使用的是HTML缓存,它可能会删除标题,或者如果您正在缓存代码中的数据,请确保添加标题。发布答案,我会将其标记为正确。删除操作缓存修复了此问题。