Ember.js期望json响应将模型对象包含在json的根中。RocketPants对它在一个名为response的属性上的模型进行编码,并将对象作为它的值。此外,从RocketPants返回的元数据位于响应对象旁边的根中,而Ember期望所有元数据驻留在一个名为meta的对象中。因此,RocketPants返回的任何元数据都将被解析为对象,并且在Ember中会发生错误。它还将尝试将响应对象解析为响应模型。
因此,目前,我正试图决定是改变json从后端发送回来,还是编写一个适配器的馀烬方面。编写适配器是理想的方法,但我不知道实现这个目标有多容易,目前正在进行研究。
如果我确实决定更改后端,我希望保留RocketPants,因为它的错误处理,并且只发送回我的自定义json,但是可能会出现同样的问题,因为返回的json使用一个错误对象,而Ember可能尝试将它解析为一个对象,除非它考虑到状态代码,并且它知道这是一个错误。
有人在这个话题上有任何煽动性吗?
发布于 2014-08-13 04:27:32
如果根键中只有一种类型的记录,则可以使用JSONSerializer和改写normalizePayload (serializer.js#L190)将记录从response键移到顶层。
您可以重写extractMeta (serializer.js#L947)将元数据移动到meta键并调用this._super(store, type, payload),也可以自己提取元数据。
https://stackoverflow.com/questions/25269752
复制相似问题