Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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
Ruby on rails 为什么';t工作架cors?_Ruby On Rails_Ajax_Rack - Fatal编程技术网

Ruby on rails 为什么';t工作架cors?

Ruby on rails 为什么';t工作架cors?,ruby-on-rails,ajax,rack,Ruby On Rails,Ajax,Rack,config/application.rb require_relative 'boot' require 'rails/all' Bundler.require(*Rails.groups) module MyApp class Application < Rails::Application config.middleware.insert_before ActionDispatch::Static, Rack::Cors do allow do origins '

config/application.rb

require_relative 'boot'
require 'rails/all'
Bundler.require(*Rails.groups)

module MyApp
 class Application < Rails::Application
  config.middleware.insert_before ActionDispatch::Static, Rack::Cors do
  allow do
    origins '*'
    resource '*', :headers => :any, :methods => [:get, :post, :options, :patch, :delete]
      end
    end
  end
end
bundle-exec-rake中间件

use Rack::Cors

another middleware…
这是控制台日志中显示的错误

XMLHttpRequest无法加载https://example.com. 对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头。起源'http://localhost:3000因此,不允许访问。响应的HTTP状态代码为405。


我该怎么办?

试着将代码改成这样。我已经尝试在我的rails 5中只添加以下行即可。然后尝试重新启动服务器

module YourApp
  class Application < Rails::Application
    # Rails 5

    config.middleware.insert_before 0, Rack::Cors do
      allow do
        origins '*'
        resource '*', :headers => :any, :methods => [:get, :post, :options]
      end
    end
  end
end
moduleyourapp
类应用程序:any,:methods=>[:get,:post,:options]
终止
终止
终止
终止

我希望它能工作。

您使用Rails 5还是Rails 4?@muhamadakbarinwidayat我使用Rails 5!请再次阅读错误消息<代码>XMLHttpRequest无法加载https://example.com。如果您是从
https://example.com
;)你可以试着问他们是否会在example.com上添加CORS标题…@max谢谢你的评论!但我不明白我该怎么做…对不起。如果你愿意,你能告诉我具体应该做什么吗?谢谢你的回答!但是很抱歉,错误消息没有更改…这无法回答问题。错误消息清楚地表明正在向
http://example.com
(IANA示例域)而不是本地主机。rails服务器上的CORS头实际上是完全无关的。
module YourApp
  class Application < Rails::Application
    # Rails 5

    config.middleware.insert_before 0, Rack::Cors do
      allow do
        origins '*'
        resource '*', :headers => :any, :methods => [:get, :post, :options]
      end
    end
  end
end