Access-Control-Allow-Origin问题

den*_*icz 12 jquery ruby-on-rails-3

我有两个本地rails应用程序,我想彼此交谈以进行测试......一个在端口3000上运行,另一个在9292上运行.

但是,当我从localhost:3000发出一个ajax请求到localhost:9292时,我一直遇到这个问题:

Origin http://localhost:3000 is not allowed by Access-Control-Allow-Origin.

有关如何解决此问题的任何想法?

我正在使用一个简单的Sinatra应用程序来接收(仅用于测试目的)JSON请求.下面是我如何让两个rails应用程序在localhost上相互通信(一个在端口3000上,另一个在端口9292上)
工作代码

before do
  headers['Access-Control-Allow-Origin'] = '*'
  headers['Access-Control-Allow-Methods'] = 'POST, GET, OPTIONS'
  headers['Access-Control-Allow-Headers'] = 'X-Requested-With, X-Prototype-Version, X-CSRF-Token'
end

after do
  headers['Access-Control-Allow-Origin'] = 'http://localhost:3000/'
end
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!

Nor*_*ner 4

出于安全原因,一般不允许跨域 AJAX。如果您能够使用 JSONP,它是一个选项。如果没有,您可以使用flXHR之类的工具来绕过此限制。

祝你好运!

  • 我通过关注此博客使其正常工作:http://www.tsheffler.com/blog/?p=428...我将编辑上面的代码库 (2认同)