Javascript 路线中是否有使用Ember store的Post请求功能?
我想知道是否有任何像.store.findAll(“report”)这样的余烬存储功能,它实际上是一个GET请求,但用于在我的路线中发布postObj,我如何处理我得到的响应。目前我正在发送ajax POST请求。您可以这样做Javascript 路线中是否有使用Ember store的Post请求功能?,javascript,ajax,ember.js,Javascript,Ajax,Ember.js,我想知道是否有任何像.store.findAll(“report”)这样的余烬存储功能,它实际上是一个GET请求,但用于在我的路线中发布postObj,我如何处理我得到的响应。目前我正在发送ajax POST请求。您可以这样做 store.findAll('report', { adapterOptions: { method: 'POST' } }) 但是您必须在适配器中重写,并自己发出ajax请求。您可以通过从快照阵列获取适配器选项来检查方法 import DS from 'ember-d
store.findAll('report', { adapterOptions: { method: 'POST' } })
但是您必须在适配器中重写,并自己发出ajax请求。您可以通过从快照阵列获取适配器选项
来检查方法
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来获取记录,这很可能是一种代码味道。
model.save()
是如何触发特定记录的post或put。@Grapho是正确的。要处理结果,请实现一个函数,该函数将转到then
处理程序:model.save().then(函数(响应){//处理结果});因为您希望更改查找行为,而不是保存行为。如果不是这样,请修复您的问题。感谢您的解决方案,因为现在我决定根据我的代码要求发送常规Ajax post请求。