无法调用我的api抛出错误因不适合需要预检的跨域请求而被拒绝

时间:2015-11-28 09:58:21

标签: django api ember.js cors django-cors-headers

嘿我是ember和frontend的新手。我的后端是用django设计的。当我从ember app调用这个api时,我的api端点以“/”结束(例如:http://example.com/api/feed/).Now。它发送请求到“http://example.com/api/feed”并留下结尾“/”。

一些代码段是:

routes.js:

return this.store.findRecord('feed');

型号名称是Feed。

adapter.js:

host:"http://example.com/api",
headers:{'authorization:"abc"}

控制台的错误是:

请求被重定向到“http://example.com/api/feed/”,对于需要预检的跨源请求,我们不允许这样做。

所以它重定向到正确的api终点,但是cors不允许请求发生。

有没有办法通过ember在末尾用“/”调用api。

1 个答案:

答案 0 :(得分:0)

覆盖适配器中的buildURL方法。 RESTAdapter的示例:

DS.RESTAdapter.extend({
  buildURL (modelName, id, snapshot, requestType, query) {
    return this._super(modelName, id, snapshot, requestType, query) + '/';
  }
})

您可能还可以重构此操作以使用arguments,而不是明确指定每个参数。