Backbone.js - 在不保存模型的情况下发出POST请求

时间:2013-09-13 09:46:27

标签: javascript jquery json backbone.js model

我想知道是否有可能在 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方法并在成功时设置模型?

2 个答案:

答案 0 :(得分:1)

我认为解决此问题的最简单方法是更改​​服务器返回的数据,或覆盖模型中的解析方法并删除额外属性。

第二个想法是给你的moel列表的一个属性,并用数据dict设置它并让服务器返回相同的。但这与一般的Backbone模型使用不会100%兼容。

得走了..

答案 1 :(得分:1)

  1. 您可以定义sync功能并在那里制作ajax
  2. 您可以定义parse函数并编写类似这样的内容

    解析:功能(数据) {     return data.list; }

  3. 2是更好的方法。如果设置某个字段会影响另一个字段,则服务器将返回该字段,并且您将始终在模型中包含实际数据。