我一直在查看有关如何使用非RESTful服务器保存Backbone集合的多篇帖子,我仍然有点困惑。我创建了一个集合,我已覆盖toJSON
方法来自定义我的数据以便发布到我的API("/api/entity/735/request/personDelete"
当前换成jsfiddles / echo / json)。所以我在save
上创建了一个使用Backbone.sync
的{{1}}方法,我注销了任何类型的响应,而且对象是空的,不确定失去了或我做错了什么;谁能给我一些指导?只是想让这个例子工作,所以我可以使用这样的东西。
JS
success
JSFiddle: http://jsfiddle.net/kyllle/f1h4cz7f/3/
答案 0 :(得分:7)
如果对sync
没有帮助,你不必强迫自己使用sync
。 request
可以节省您在常见情况下的时间。
正如您在annotated sync
code中看到的那样,它最终只调用jQuery.ajax并包含帮助RESTful后端的逻辑。
此外,它会触发一些您可能会或可能不会在应用的其他部分收听的事件,例如sync
(发出请求时)和error
(请求成功完成时) ,或sync
(如果请求失败)
如果重新发明type IDatabase =
abstract GetThingsByCountThenLength :
count:int -> length:int -> Thing list
abstract GetUsersByFirstNameThenLastName :
firstName:string -> lastName:string -> User list
并不令人兴奋,您可以在应用中执行所有这些操作。
答案 1 :(得分:0)
您可以将您的收藏包装在骨干模型中。
var CollectionWrapper = Backbone.Model.extend({
url: "/echo/json"
});
然后你可以使用model.save()和/或Backbone.sync(),因为Backbone打算使用它。
请参阅此答案:"How" to save an entire collection in Backbone.js - Backbone.sync or jQuery.ajax?