Ruby on rails EmberJS/Ember数据自定义http头

Ruby on rails EmberJS/Ember数据自定义http头,ruby-on-rails,ember.js,ember-data,Ruby On Rails,Ember.js,Ember Data,结合rails后端使用ember 1.13.2和ember数据1.13.4 根据ember指南,以下语句应修改每个XHR请求的http头: App.ApplicationAdapter = DS.RESTAdapter.extend({ headers: { "Authorization": "secret key" } }); 所以我把这个作为咖啡脚本添加到我的应用程序中 App.ApplicationAdapter = DS.RESTAdapter.extend hea

结合rails后端使用ember 1.13.2和ember数据1.13.4

根据ember指南,以下语句应修改每个XHR请求的http头:

App.ApplicationAdapter = DS.RESTAdapter.extend({
  headers: {
    "Authorization": "secret key"
  }
});
所以我把这个作为咖啡脚本添加到我的应用程序中

App.ApplicationAdapter = DS.RESTAdapter.extend
  headers: {
        "Authorization": "foofoo"
      }
它被包含并正确编译为javascript

但是http头根本没有使用新头进行扩展

唯一有效的解决方案是配置jquery ajax:

Ember.$.ajaxPrefilter(function(options, oriOpt, jqXHR) {
    jqXHR.setRequestHeader("someHeader", "someValue");
});
但我更喜欢余烬的方式

更新


奇怪的是,它现在只适用于余烬方式。刚刚重启了我的电脑。也许这是浏览器缓存问题。

根据余烬文档,您似乎基本正确。这是一个应该有效的解决方案,由

有些API需要HTTP头,例如提供API密钥。可以在RESTAdapter的headers属性中将任意头设置为键/值对,余烬数据将随每个ajax请求一起发送

App.ApplicationAdapter = DS.RESTAdapter.extend({
  headers: {
    'API_KEY': 'secret key',
    'ANOTHER_HEADER': 'Some header value',
    'AUTHORIZATION': 'secret key'
  }
});