Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 路线中是否有使用Ember store的Post请求功能?_Javascript_Ajax_Ember.js - Fatal编程技术网

Javascript 路线中是否有使用Ember store的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”)这样的余烬存储功能,它实际上是一个GET请求,但用于在我的路线中发布postObj,我如何处理我得到的响应。目前我正在发送ajax POST请求。

您可以这样做

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请求。