我现在是一名前端开发人员,并且我有一个可以使用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处理并删除一些不需要的功能(例如emulateHTTPemulateJSON)。

    关于javascript - 如何以No-RESTful方式使用Backbone.js?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13465645/

    10-09 20:04
    查看更多