Я разрабатываю базовое приложение, которое включает выборку данных из внешнего API. Домен моего приложения - product.site1.com, тогда как домен API - api.site1.com.Backbone fetch: Заголовки не задаются при выполнении выборки с базовыми данными
Это как моя модель и коллекция выглядит
var pModel = new Backbone.Model.extend({});
var pCollection = new Backbone.Collection.extend({
model: pModel,
url: 'api.site1.com/product'
});
и вид выглядит ниже
var pView = new Backbone.View.extend({
initialize: function() {
var _this = this;
var pCollectionVar = new pCollection();
pCollectionVar.fetch({
dataType: 'jsonp',
beforeSend: _this.sendAuthentication,
success: function(collection, response, options) {
console.log(collection);
},
error: function(collection, xhr, options) {
console.log("error");
}
});
}
sendAuthentication: function(xhr) {
xhr.setRequestHeader('customKey1', 'ABCD');
xhr.setRequestHeader('customKey2', '1234');
}
});
Когда я выполняю это, мое приложение делает запрос GET к серверу API, в то время как I я не получаю данные заголовка на сервере. Я не вижу, чтобы эти пользовательские заголовки устанавливались для запроса в моих инструментах chrome dev.
EDIT: ВАРИАНТЫ http://api.site1.com/product 405 (Method Not Allowed) JQuery-1.10.2.js: 8706
OPTIONS http://api.site1.com/product Invalid HTTP код статуса 405 JQuery-1.10.2.js: 8706
XMLHttpRequest не может загрузить http://api.site1.com/product. Недопустимый код состояния HTTP 405 (индекс): 1
Это ошибки, которые я получаю во время выполнения запроса.
Хорошо, я понимаю проблему определения области здесь. Даже после регулировки объема заголовки не установлены. Будет ли проблема использовать jsonp вместе с пользовательскими заголовками? –
@sree jsonp не является вызовом ajax, см. Редактировать в ответе – ekeren
Спасибо за разъяснение. Я включил ошибку в вопрос. –