使用非restful api保存的主干模型

时间:2016-08-30 07:31:46

标签: javascript backbone.js

我有像这样的骨干模型

model = new Report({id: 1, name: "Test Report1"});
model.urlRoot = "/reports/" + model.get('id') + "/submit";

model.save(null, {
  patch: true,
  success: function(model, res){
    console.log(res);
  },
  error: function(err){
    console.log(err);
  }
});

我做了什么:

/reports/:id/submit

但是当我保存它时,我希望它将请求发送到patch/reports/1/submit/1之类的路径,但它会转到POST$.ajax之类的路径。我能在这做什么?任何调整?或者我应该使用{{1}}代替吗?

1 个答案:

答案 0 :(得分:0)

覆盖url()功能,而不是urlRoot

在函数/参数url中生成Url。

model = new Report({id: 1, name: "Test Report1"});
oldUrl = model.url;
model.url = "/reports/" + model.get('id') + "/submit";

model.save(null, {
  patch: true,
  success: function(model, res){
    console.log(res);
  },
  error: function(err){
    console.log(err);
  }
});

model.url = oldUrl;