4

Backbone.js“模型”在调用后期望从服务器返回Save()什么?

我问的原因是因为我在调用Save(). 我摆弄着模型的parse()方法。我发现返回一个空对象或null没有产生这种行为。但是,服务器正在返回一些 JSON 作为“成功”消息,并且此信息似乎覆盖了模型:

{
    message: 'SUCCESS'
}

服务器响应Save()来自 Backbone 的请求的“正确”方式是model什么?

谢谢!

4

2 回答 2

10

服务器应该以 200 的 HTTP 状态响应,并且应该返回服务器为模型生成或更新的任何数据。通常,这只是模型的服务器生成id字段。从服务器返回的任何字段都将应用于模型。因此,如果您将其发送到服务器:


{
  foo: "bar"
}

以及服务器对此的响应:


{
  id: 1, // or some other server generated ID, from a database, etc.
  message: "SUCCESS"
}

您的模型最终将如下所示:


{
  id: 1,
  foo: "bar",
  message: "SUCCESS"
}

如果您的模型在调用 save 方法时不需要从服务器更新任何数据,那么您应该返回一个空{}对象字面量。

于 2012-08-25T02:29:52.150 回答
4

好吧,这个问题经常出现在这里,我已经在 SO 上问过了。似乎将此添加到评论中不会对未来的提问者有所帮助,因此这里是回答和提问的链接

开始使用backbonejs - 服务器应该返回什么

于 2012-08-25T05:32:51.493 回答