使用Rails REST API构建前端界面,我收到错误
XMLHttpRequest cannot load http://www.example.com/questions
No 'Access-Control-Allow-Origin' header is present on the requested
resource. Origin 'http://localhost:4200' is therefore not allowed access.
我已将我的适配器设置为
import DS from 'ember-data';
export default DS.RESTAdapter.extend({
namespace: 'api/v1',
host: 'http://www.example.com'
});
如果我正在构建API,我只需要包含gem'chack-cors'并允许访问其他站点,但这不包含在源代码中。我刚开始使用Ember框架,还没有为此找到解决方法。
我尝试过运行代理服务器
ember s --proxy http://www.example.com
但我得到同样的回应。是否有一个中间件或RESTAdapter上的方法可以用来绕过这个错误?
答案 0 :(得分:0)
根据the docs,您正在服务器上正确创建代理服务器。通过这样做,您的远程呼叫将通过您的代理服务器转到“http://www.example.com”。
但是,您没有使用此代理服务器。您将远程呼叫直接发送到“http://www.example.com”。由于适配器的host
参数:
import DS from 'ember-data';
export default DS.RESTAdapter.extend({
namespace: 'api/v1',
host: 'http://www.example.com'
});
更改host
参数并将远程调用发送到代理服务器。 (您的代理服务器位于http://localhost:4200)