ruby-on-rails – Access-Control-Allow-Origin Rails 3不允许使用原始http:// localhost

按照这个问题 How to set access-control-allow-origin in webrick under rails?,我可以从localhost获取并发布到localhost:3000.

但是,DELETE和PUT发生错误

这是我允许跨域访问的方式

class ApplicationController < ActionController::Base
    protect_from_forgery
    before_filter :allow_cross_domain_access
    def allow_cross_domain_access
        response.headers["Access-Control-Allow-Origin"] = "*"
        response.headers["Access-Control-Allow-Methods"] = "*"
    end
end

知道怎么解决吗?

解决方法

*不是Access-Control-Allow-Methods响应头的有效值.您需要列出实际方法
response.headers["Access-Control-Allow-Methods"] = "GET,PUT,POST,DELETE"

此外,如果您的请求有任何自定义请求标头,您还需要列出这些标头:

response.headers["Access-Control-Allow-Headers"] = "Content-Type,X-Requested-With"

最后请注意,您的控制器应该允许OPTIONS http请求.这是为了允许进行PUT或DELETE请求时所需的CORS预检请求.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...