Я пытаюсь справиться с данными ember и ember, но имею проблему с правильной обработкой CORS.
Мне удалось определить модель и т.д. с помощью статического прибора, но теперь я хочу использовать какой-то удаленный JSON. Поэтому я настраиваю такие данные:
App = Ember.Application.create();
App.Store = DS.Store.extend({
revision: 13,
adapter: DS.RESTAdapter.create({
url: 'http://clara.eagle/v1/money'
})
});
Модель, подобная этой:
App.Transaction = DS.Model.extend({
type: DS.attr('string'),
occurrence: DS.attr('date'),
details: DS.attr('string'),
amount: DS.attr('number'),
currency: DS.attr('string')
});
И такой маршрут:
App.IndexRoute = Ember.Route.extend({
model: function() {
return App.Transaction.find();
}
});
В качестве backend у меня есть существующий API, который вернет JSON для действительного GET
запроса следующих заголовков CORS OPTIONS
.
Access-Control-Allow-Origin: http://ember.eagle
Access-Control-Allow-Headers: X-Requested-With, X-AUTHENTICATION, X-IP
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
(ember.eagle - домен домена ember, clara.eagle - домен api).
Когда я запускаю приложение, однако хром говорит мне:
XMLHttpRequest cannot load http://clara.eagle/v1/money/transactions. Origin http://ember.eagle is not allowed by Access-Control-Allow-Origin.
Итак, я посмотрел вкладку сети, чтобы узнать, какой результат дал запрос OPTIONS
, за исключением того, что я мог ее найти. Хотя это объясняет, почему запрос API был неудачным, я не знаю, почему запрос OPTIONS
не выполняется, поскольку он в конечном итоге делает запрос с помощью jQuery (как я понимаю).
Итак, почему мой запрос OPTIONS
не генерируется? и если он не предназначен для того, как я могу это сделать?
Я тестировал, что запрос OPTIONS
генерируется API и что запрос GET
также работает, поэтому я не верю, что API неисправен (скриншот). Используя jQuery самостоятельно (т.е. Ванильный jQuery), запрос OPTIONS
запускается, как ожидалось.
Я новичок в Ember os, возможно, что-то мне не хватает, но на данный момент я не вижу его!