API को एपीआई संस्करण application/vnd.api+json;version=1
निर्दिष्ट करने की आवश्यकता है, इसके लिए इसे सुरक्षित x-app-id और x-app-secret की आवश्यकता है। क्या एम्बर में RESTAdapter में निर्दिष्ट करने का कोई तरीका है?सभी RESTAdapter एम्बर अनुरोधों के लिए शीर्षलेख जोड़ने के लिए
अनुरोध हेडर कोशिश कर रहा
App.Adapter = DS.RESTAdapter.extend({
namespace: 'api',
beforeSend: function(xhr) {
xhr.setRequestHeader('x-my-custom-header', 'some value');
}
})
समाधान
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();
अद्यतन # 2
समाधान जैसा कि ऊपर उल्लेख नहीं रह गया है की जरूरत है, एंबर अब डिफ़ॉल्ट रूप से इस व्यवहार का समर्थन करता है के रूप में करने के बाद। आपको केवल headers
आपूर्ति करने की आवश्यकता है और यह स्वचालित रूप से जोड़ा जाएगा।
बाहर की जाँच करें यहाँ http://emberjs.com/guides/models/connecting-to-an-http-server/#toc_custom-http-headers
मेरे लिए काम नहीं है; जब मैं अनुरोध को देखता हूं, इसमें कोई शीर्षलेख नहीं होता है। कोई उपाय ? एक संस्करण समस्या मैबी? – fabien
क्या आप '' 'App.Store = DS.Store.extend ({ एडाप्टर: App.Adapter.create() }) पर कॉल करें;' '' '' '' _ 'App.store = App.Store.create (); '' 'उपर्युक्त कोड जोड़ने के बाद? –
और यह काम किया :) धन्यवाद – fabien