我必须存储从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类型,没有所需的功能。

您可以参考具有pushPayload功能的JSONAPISerialzer,然后尝试将其复制到JSONSerializer中。

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

10-11 15:28