Я пытаюсь справиться с данными ember и ember, но имею проблему с правильной обработкой CORS.Запрос отсутствующих опций с использованием данных ember
Мне удалось определить модель и т. Д. С помощью статического прибора, но теперь вы хотите использовать какой-то удаленный 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();
}
});
В бэкэнде у меня есть существующий 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 является уголек домен приложения, clara.eagle является областью апи).
Когда я запустить приложение, однако хром говорит мне:
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 неисправен (screenshot). Используя jQuery самостоятельно (т. Е. Ванильный jQuery), запрос OPTIONS
выполняется, как ожидалось.
Я новичок в Ember os, возможно, что-то мне не хватает, но на данный момент я не вижу его!
вы замечаете, что ваш URL в API является 'HTTP: // Клара.eagle' и ваши настройки базовой линии на 'http: // ember.eagle'? – intuitivepixel
@intuitivepixel Простите, что вы имеете в виду? ember.eagle делает запрос clara.eagle - clara.eagle отмечает ember.eagle как разрешенное происхождение. – fenfe1
Это только в IE? – TMQuinn