ajax - 无法在 ember 中使用 pushPayload

标签 ajax ember.js ember-data ember-cli

我必须将来自 ajax 调用的数据存储到模型中。现在我正在使用“pushPayload”将数据保存到我的模型中。但它会抛出错误

serializer.pushPayload is not a function

在 Controller 中,我在 ajax 调用之后做了类似的事情。

currentState.store.pushPayload('discover',result)

序列化器(discover.js)

export default DS.JSONSerializer.extend(DS.EmbeddedRecordsMixin,{
isNewSerializerAPI: true,
  primaryKey:'pk',
  normalize: function(typeClass, hash) {
    var fields = Ember.get(typeClass, 'fields');
    fields.forEach(function(field) {
      var payloadField = Ember.String.underscore(field);
      if (field === payloadField) { return; }
      hash[field] = hash[payloadField];
      delete hash[payloadField];
    });
    return this._super.apply(this, arguments);
  }
  });

如何将从服务器接收到的数据保存到我的模型中。响应是一个对象数组

最佳答案

store.pushPayload 在内部使用应用程序序列化程序的 pushPayload 函数或给定模型的特定序列化程序的 pushPayload 函数。在您的情况下,特定于模型的序列化器是 JSONSerializer 类型,它没有所需的功能。

可以引用JSONAPISerialzer ,它具有 pushPayload 功能并尝试在您的 JSONSerializer 中复制它.

关于ajax - 无法在 ember 中使用 pushPayload,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34746633/

相关文章:

ember.js - 读取 Handlebars 模板中的对象属性

javascript - Ember 未知关系

ember.js - 如何使用 ember-data 从另一个模型子类化或继承模型

javascript - Ember 使用 forEach() 访问模型数组

javascript - 将 Ember.js Controller 变量设置为 Ember 数据对象,而不是 promise

php - 如何使用 ajax 和 json 返回多个数据

javascript - Wordpress AJAX 不起作用 - 响应 0

javascript - Ember 对来自 ember-data 模型关联的另一个 Controller 的数据进行排序

javascript - jQuery/Javascript - "is not a function error"但函数已定义

javascript - 如何使用 Greasemonkey 单击 "Show More"链接?