【发布时间】:2011-10-04 07:55:32
【问题描述】:
我的后端有两个单独的页面,一个用于处理模型保存请求,另一个用于获取模型。
调用 save() 和 fetch() 以使用不同的 URL 的最佳方法是什么?谢谢。
编辑:
在研究了带注释的源之后,我发现实际上可以为fetch 和save 提供options 哈希
//taken from backbone source:
save : function(attrs, options) {
options || (options = {});
if (attrs && !this.set(attrs, options)) return false;
var model = this;
var success = options.success;
options.success = function(resp, status, xhr) {
if (!model.set(model.parse(resp, xhr), options)) return false;
if (success) success(model, resp, xhr);
};
options.error = wrapError(options.error, model, options);
var method = this.isNew() ? 'create' : 'update';
return (this.sync || Backbone.sync).call(this, method, this, options);
},
在存档中,attrs 的作用是什么?我只是在没有传入任何内容的情况下调用 myModel.save() 并且它一直在正确地散列我的模型的属性。但现在我想提供一个“保存网址”,我很想打电话
myModel.save(undefined, {
url: 'myPath'
})
“跳过”第一个 attrs 参数所需的未定义。
【问题讨论】:
-
致任何发现此问题的人:我发现问题中的答案比任何一个实际答案都更有帮助。
标签: backbone.js