我必须存储从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/