我想知道是否有可能在 Backbone 中制作this.model.save(data, options)
而无需将数据写入模型?
我有一个服务器端点,我需要POST json { field1: 'bbb', field2: 'aaa' }
- 服务器将这些字段写入db list: [{ field1: 'bbb', field2: 'aaa' }]
。
问题在于Backbone还将这些字段添加到模型中。我有像{ id: '111', field1: 'bbb', field2: 'aaa', list: [{ field1: 'bbb', field2: 'aaa' }] }
这样的模型,这是错误的..
有没有办法在不向模型写入发送数据的情况下进行保存?或者可以简单地使用jquery $.post
方法并在成功时设置模型?
答案 0 :(得分:1)
我认为解决此问题的最简单方法是更改服务器返回的数据,或覆盖模型中的解析方法并删除额外属性。
第二个想法是给你的moel列表的一个属性,并用数据dict设置它并让服务器返回相同的。但这与一般的Backbone模型使用不会100%兼容。
得走了..
答案 1 :(得分:1)
sync
功能并在那里制作ajax 您可以定义parse
函数并编写类似这样的内容
解析:功能(数据) { return data.list; }
2是更好的方法。如果设置某个字段会影响另一个字段,则服务器将返回该字段,并且您将始终在模型中包含实际数据。