backbonejs入门 - 服务器应该返回什么

时间:2012-03-14 16:45:25

标签: javascript backbone.js underscore.js

我对Backbone.js库完全不熟悉并阅读整个文档并理解库的工作原理。在下面的例子中,服务器的响应应该是使用骨干设计的应用程序的正确工作(不需要额外的笔划/代码)。

假设下面的模型

window.person = Backbone.Model.extend({
    defaults: {
        name: "",
        email: "dummy@gmail.com"
    },
    urlRoot: "PersonApp"
});
  1. 假设验证顺利 <{1}}

  2. ,服务器应该返回什么JSON
  3. model.save()

  4. 应该为服务器返回什么JSON
  5. model.fetch()

  6. 应该为服务器返回什么JSON

1 个答案:

答案 0 :(得分:15)

如果查看Backbone.Sync documentation,则表示您应该使用服务器上已更改的属性来响应请求。

所以回答你的问题:

  1. model.save的JSON请求应返回已作为保存一部分更改的属性。在创建的情况下,这将是整个模型;在更新的情况下只是已更改的字段。 (或者如果你很懒,不介意更新整个客户端模型,你可以返回整个模型)。

    所以可接受的回答是{ 'name' : 'a name', 'email' : 'an@email.com' }

  2. Fetch应该只返回JSON格式的模型。因此,我用于model.save的相同示例将起作用。

  3. 我不完全确定,但我认为Backbone不会从删除请求中验证返回的数据,因此您应该能够返回任何内容,只要它不是HTTP错误。根据下面的@ a.real.human.being,空响应也会导致错误。因此,在身体(或类似)中返回200“OK”似乎是一个合理的计划。