向backbone.js中添加选项model.save()

时间:2012-11-20 14:03:29

标签: javascript jquery ajax backbone.js

是否可以传入" save"的选项? method - 请求的不同url /路径?

模型的默认urlRot是 - > urlRoot: "/users"

是否可以做类似的事情:

this.model.save({
           'userName': $('#userName').val(),
           'password': $('#password').val()},{

            url: "/users/login",

            success: function(model, response, options) {

            }, 

因此,此次请求将被发送到" / users / login"而不是" / users" ?

1 个答案:

答案 0 :(得分:3)

来自the documentation

  

urlmodel.url()

     

返回模型资源的相对URL   将位于服务器上。如果你的模型位于某个地方   否则,使用正确的逻辑覆盖此方法。生成的URL   形式:“/ [collection.url] / [id]”,回到“/ [urlRoot] / id”如果   该模型不是集合的一部分。

因此看起来您可以在模型上提供自己的url功能。

示例:

var MyModel = Backbone.Model.extend({
    use_custom_url: false,
    url: function() {
        if (use_custom_url) {
            return "/users/login";
        } else {
            return Backbone.Model.prototype.url.apply(this);
        }
    }
});