Jquery 不可预测的访问控制允许源行为
我有一个Rails应用程序,具有以下操作: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 =>
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缓存,它可能会删除标题,或者如果您正在缓存代码中的数据,请确保添加标题。发布答案,我会将其标记为正确。删除操作缓存修复了此问题。