我现在是一名前端开发人员,并且我有一个可以使用BackboneJS的项目,并且服务器端由其他人编写。有谁能告诉我如何以一种非RESTful的方式覆盖删除,更新,添加等等?服务器端的URL可能是这样的:
www.domain.com/addBookById
www.domain.com/removeBookById
非常感谢!!
最佳答案
Backbone 使用 Backbone.sync
来管理与服务器的所有通信。有关sync
的两件事对您很重要;首先,它看起来像这样:
第二个是您可以基于每个模型和每个集合覆盖sync
。因此,您可以将自己的sync
实现添加到模型中:
var M = Backbone.Model.extend({
sync: function(method, model, options) {
//...
},
//...
});
如果查看
method
,则可以确定要使用的URL以及是否正在执行GET,POST,...请求。 model
将告诉您要发送到服务器的数据。您需要将options
合并到要使用的$.ajax
选项中。看看Backbone.sync
的标准实现,这很简单,应该向您展示您需要做的事情:只需替换URL处理并删除一些不需要的功能(例如emulateHTTP
和emulateJSON
)。关于javascript - 如何以No-RESTful方式使用Backbone.js?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13465645/