有没有办法创建自己的ajax方法来发出POST请求而不是使用save?
答案 0 :(得分:0)
保存不仅会触发AJAX请求,还会触发事件和验证,因此我不会编写自己的"自己的"保存方法。 但是,您始终可以编写模型函数,如:
var SomeModel = Backbone.Model.extend({
urlRoot: "/some/url",
altSave: function () {
$.post(this.urlRoot, {
/*assemble your post data*/
}, function (response) {
});
}
});
var s = new SomeModel();
s.altSave();
调用s.altSave();
将触发POST请求。
答案 1 :(得分:0)
这是正确的,它有效,但我认为这是一个更好的解决方案:
'use strict';
define([
'underscore',
'backbone',
'config/appConfig'
],function(_,Backbone,Config){
var StatsModel = Backbone.Model.extend({
urlRoot: Config.urlStats,
url: function() {
var url = this.urlRoot + "/resource";
return url;
},
defaults: {
metricID: '',
groupByID: ''
},
requestStats: function(opts) {
var url = this.url(),
options = {
url: url,
type: 'POST',
contentType: 'application/json',
data: JSON.stringify(this.attributes)
};
_.extend(options, opts);
return (this.sync || Backbone.sync).call(this, null, this, options);
}
});
return StatsModel;
});
非常感谢