在ember中无法使用pushPayload

时间:2016-01-12 14:43:51

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

我必须将ajax调用的数据存储到model.Now我正在使用" pushPayload"将数据保存到我的模型。但它抛出错误

serializer.pushPayload is not a function

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

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

serializer(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);
  }
  });

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

1 个答案:

答案 0 :(得分:1)

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

您可以推荐具有pushPayload功能的JSONAPISerialzer,并尝试在JSONSerializer中复制它。