0

在浏览了主干文档之后,很明显要发送模型的删除请求,我们需要设置urlRootand id。我想到的另一种技术是sync为我的模型实现一个。

由于我的服务器POST用于删除,我使用emulateHTTP = true. 我怎样才能完成上述任务,以便我的模型的请求 url 将采用以下形式 http://myWerService.com/myresource/deleteMyModel?modelName="abc"

  • 那么,我怎样才能将我的设置idmodelName
  • 以下两个 url 模式有什么区别 http://myWerService.com/myresource/deleteMyModel?modelName="abc" http://myWerService.com/myresource/deleteMyModel/abc
    原因是,我看到每个示例都使用第二个 url 模式,但我不知道两者之间的区别。
  • url为此模型设置了创建请求,我如何使用不同的 url(我想使用上面指定的 url)来发送删除请求
4

1 回答 1

0

我不确定这是否正是您要问的,但也许这个例子会有所帮助:

var MyModel = Backbone.Model.extend({
    ID: 0,
    Name: '',

    ... other attributes for the model ...

},

initialize: function (id) {
    this.ID = id;
},

idAttribute: 'Name', // set the id attribute as the name attribute


// you can have different urls for different operations

methodToURL: {
    'read': 'GetModel',
    'update': 'UpdateModel',
    'delete': 'DeleteModel'

},

// overwrite the sync function

sync: function (method, model, options) {
    options = options || {};
    options.url = model.methodToURL[method.toLowerCase()];

    switch (method) {
        case 'read':
        case 'update':
        case 'delete':
            options.url += '/' + this.id;
            break;
    }

    Backbone.sync(method, model, options);
}
});
于 2013-02-18T10:03:03.937 回答