API, application/vnd.api+json;version=1
numaralı api sürümünü belirtmelidir, ayrıca güvenli x-app-kimliği ve x-app-secret gerektirir. Ember'deki RESTAdapter'de belirtmenin bir yolu var mı?Tüm RESTAdapter istekleri için üstbilgi nasıl eklenir
App.Adapter = DS.RESTAdapter.extend({
bulkCommit: true,
namespace: 'api',
headers: {
'Accept': 'application/vnd.app+json;version=1',
'x-appid': '2375498237',
'x-secret': '238945298235236236236236375923'
},
ajax: function(url, type, hash) {
if (this.headers !== undefined) {
var headers = this.headers;
hash.beforeSend = function (xhr) {
Ember.keys(headers).forEach(function(key) {
xhr.setRequestHeader(key, headers[key]);
});
};
}
return this._super(url, type, hash);
}
});
App.Store = DS.Store.extend({ adapter: App.Adapter.create() });
App.Store = App.Store.create();
GÜNCELLEME 2.
Kor artık varsayılan olarak bu davranışı destekler olarak artık ihtiyaç vardır yukarıda belirtilen çözüm
App.Adapter = DS.RESTAdapter.extend({
namespace: 'api',
beforeSend: function(xhr) {
xhr.setRequestHeader('x-my-custom-header', 'some value');
}
})
ÇÖZÜM istek başlığı çalışılıyor sonra. Sadece headers
tedarik etmeniz yeterlidir ve otomatik olarak eklenecektir.
Kontrol dışarı RESTAdapter Ajax için jQuery kullanan özünde burada http://emberjs.com/guides/models/connecting-to-an-http-server/#toc_custom-http-headers
benim için Çalışmıyor; İsteğime baktığımda, içinde başlık yok. Herhangi bir fikir ? Bir sürüm problemi mabye? – fabien
'' 'App.Store = DS.Store.extend ({ bağdaştırıcısı: App.Adapter.create() });' '' Daha sonra '' 'App.store = App.Store.create (); '' Yukarıdaki kodu ekledikten sonra? –
Ve bu çalıştı :) Teşekkürler – fabien