调用Save()
后,Backbone.js'模型'期望从服务器返回什么?
我问的原因是因为在调用Save()
后模型被清除时出现问题。我摆弄了模型的parse()
方法。我发现返回一个空对象或null
没有产生这种行为。但是,服务器返回一些JSON作为“成功”消息,这些信息似乎覆盖了模型:
{
message: 'SUCCESS'
}
服务器响应来自主干Save()
的{{1}}请求的“正确”方式是什么?
谢谢!
答案 0 :(得分:10)
服务器应该响应HTTP状态200,最有可能,并且应该返回服务器为模型生成或更新的任何数据。通常,这只是模型的服务器生成的id
字段。从服务器返回的任何字段都将应用于模型。所以,如果你把它发送到服务器:
{
foo: "bar"
}
和服务器响应:
{
id: 1, // or some other server generated ID, from a database, etc.
message: "SUCCESS"
}
您的模型最终会看起来像这样:
{
id: 1,
foo: "bar",
message: "SUCCESS"
}
如果您的模型在调用save方法时不需要从服务器更新任何数据,那么您应该返回一个空的{}
对象文字。
答案 1 :(得分:4)
这个问题经常出现在这里,我已经问过了。似乎将此添加到评论中并不会有助于未来的提问者,因此这里是回答和提问的链接
Getting started with backbonejs - what should a server return