我对Backbone.js库完全不熟悉并阅读整个文档并理解库的工作原理。在下面的例子中,服务器的响应应该是使用骨干设计的应用程序的正确工作(不需要额外的笔划/代码)。
假设下面的模型
window.person = Backbone.Model.extend({
defaults: {
name: "",
email: "dummy@gmail.com"
},
urlRoot: "PersonApp"
});
假设验证顺利 <{1}}
model.save()
model.fetch()
答案 0 :(得分:15)
如果查看Backbone.Sync documentation,则表示您应该使用服务器上已更改的属性来响应请求。
所以回答你的问题:
model.save
的JSON请求应返回已作为保存一部分更改的属性。在创建的情况下,这将是整个模型;在更新的情况下只是已更改的字段。 (或者如果你很懒,不介意更新整个客户端模型,你可以返回整个模型)。
所以可接受的回答是{ 'name' : 'a name', 'email' : 'an@email.com' }
Fetch应该只返回JSON格式的模型。因此,我用于model.save
的相同示例将起作用。
我不完全确定,但我认为Backbone不会从删除请求中验证返回的数据,因此您应该能够返回任何内容,只要它不是HTTP错误。根据下面的@ a.real.human.being,空响应也会导致错误。因此,在身体(或类似)中返回200“OK”似乎是一个合理的计划。