使用商店获取自定义网址的请求

时间:2017-04-18 20:29:58

标签: javascript ember.js ember-data

我尝试使用Ember-data中的this.get('/transactions/from/:startDate/to/:endDate');函数向this.store.query的自定义网址发送GET请求。怎么能实现呢?

1 个答案:

答案 0 :(得分:2)

要发送自定义URL的GET请求,需要覆盖适配器中的query函数。我有一个名为transaction的模型。所以我想做this.store.query('transaction', { filterType: 'dateRange', startDate: '01-01-12', endDate: '12-31-12'}之类的事情,然后将GET请求发送到transactions/from/01-01-12/to/12-31-12。以下是我必须做的工作:

query: function(store, type, query) {
    if (query.filterType && query.filterType === 'dateRange') {
      const url = `transactions/from/${query.startDate}/to/${query.endDate}`;

      return new Ember.RSVP.Promise(function(resolve, reject) {
        Ember.$.getJSON(url).then(data => resolve(data), err => reject(err));
      });
    } else {
      return this._super(store, type, query);
    }
  }