我有两个本地导轨应用程序,我想要彼此交谈用于测试目的…一个在端口3000上运行,另一个在9292上运行.
但是当我从localhost:3000到localhost:9292发出ajax请求时,我不断得到这个问题:
来源http:// localhost:3000不允许Access-Control-Allow-Origin.
关于如何解决这个问题的任何想法?
我正在使用一个简单的Sinatra应用程序接收(仅用于测试目的)JSON请求.以下是我在localhost上的两个rails应用程序相互通信(一个在端口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
希望这可以帮助!
解决方法
出于安全考虑,通常不允许跨域AJAX.如果您能够使用JSONP,则是一个选项.如果没有,您可以使用像
flXHR这样的限制.
祝你好运!