BackboneJS更新模型和REST API

时间:2014-04-03 14:53:09

标签: javascript backbone.js javascriptmvc

我正在使用BackboneJS并有一个模型对象要更新。

self.model.save(
{
urlRoot: +self.model.get("personId")+"/deactivate"
},
{
success: function (model){
    self.showMessage('Person deactivated', true, true);
    self.model.fetch();
},
error : function(){
    $("#save", self.el).button("reset");
}
});

现在我的REST方法看起来像

@PUT
@Path("{id}/deactivate")
@Consumes({MediaType.APPLICATION_JSON})
@Produces({MediaType.APPLICATION_JSON})
public CompanyVO deactivatePerson(@PathParam("id") Long id, PersonVO personVO) {
    return modifyPerson(id, personVO);
}

我的问题是我如何设置urlRoot以调用相应的REST方法。

请让我知道正确的方法,以便我可以调用REST方法并更新Person对象。

1 个答案:

答案 0 :(得分:0)

保存方法原型是:model.save([attributes],[options])

第一个参数是属性。第二个是选项,例如url,成功,可以指定错误方法。

如果您已经设置了模型的所有属性,则将'[]'作为第一个参数传递以保存,即

self.model.save([],{
    urlRoot: +self.model.get("personId")+"/deactivate, //ensure protocol + domain name are added
    success: function (model){
        self.showMessage('Person deactivated', true, true);
        self.model.fetch();
    },
    error : function(){
        $("#save", self.el).button("reset");
    }
});