在路线中使用Ember商店是否有任何Post请求功能?

时间:2016-03-10 14:08:25

标签: javascript ajax ember.js

我想知道是否有像this.store.findAll('report')这样的任何余烬商店功能,这实际上是一个GET请求,但是对于我的路线中的postObj的POST,我该如何处理我得到的回复。目前我正在发送ajax POST请求。

1 个答案:

答案 0 :(得分:1)

你可以做到

store.findAll('report', { adapterOptions: { method: 'POST' } })

但是你必须覆盖适配器中的findAll并自己发出ajax请求。您可以通过从快照数组中获取adapterOptions来检查哪种方法。

import DS from 'ember-data';
import Ember from 'ember';

const { get } = Ember;

export default DS.JSONAPIAdapter.extend({
  findAll(store, type, sinceToken, snapshotRecordArray) {
    let method = get(snapshotRecordArray, 'adapterOptions.method');
    let url = this.buildURL(type.modelName, snapshotRecordArray, 'findAll');
    // ...
    // return promise
  }
});

请注意,建议不要使用put或post来获取记录,并且最有可能出现代码异味。