Javascript Rails 4.2和跨域cookie允许读取cookie数据
我有一个Rails 4.2应用程序,正在从另一个域获取请求。我希望他们发送我们在javascript中设置的uuid。它在本地主机上工作,但不跨域。在我们的应用程序_controller.rb中,我有:Javascript Rails 4.2和跨域cookie允许读取cookie数据,javascript,ruby-on-rails,ruby-on-rails-4,cookies,Javascript,Ruby On Rails,Ruby On Rails 4,Cookies,我有一个Rails 4.2应用程序,正在从另一个域获取请求。我希望他们发送我们在javascript中设置的uuid。它在本地主机上工作,但不跨域。在我们的应用程序_controller.rb中,我有: class ApplicationController < ActionController::Base after_filter :cors_set_access_control_headers def cors_set_access_control_headers h
class ApplicationController < ActionController::Base
after_filter :cors_set_access_control_headers
def cors_set_access_control_headers
headers['Access-Control-Allow-Origin'] = '*'
headers['Access-Control-Allow-Methods'] = 'POST, PUT, DELETE, GET, OPTIONS'
headers['Access-Control-Request-Method'] = '*'
headers['Access-Control-Allow-Headers'] = 'Origin, X-Requested-With, Content-Type, Accept, Authorization'
end
我还需要再做一步吗 没有您的日志,我没有任何具体的建议 不过,使用gem会更好。这提供了中间件,使CORS请求的权限更简单:
#Gemfile
gem "rack-cors"
#config/application.rb
config.middleware.insert_before 0, "Rack::Cors" do
allow do
origins '*'
resource '*', headers: :any, methods: [:get, :post, :options]
end
end
这将允许对任何资源的任何请求(来源)——最好使用上面的细节(即origins“google.com”
)
这将为您解决CORS问题
#Gemfile
gem "rack-cors"
#config/application.rb
config.middleware.insert_before 0, "Rack::Cors" do
allow do
origins '*'
resource '*', headers: :any, methods: [:get, :post, :options]
end
end