Backbone.js 自定义模型请求

Backbone.js custom model request

有没有什么方法可以创建您自己的 ajax 方法来发出 POST 请求而不是使用保存?

保存不仅会触发 AJAX 请求,还会触发事件和验证,因此我不会编写 "own" 保存方法。 但是,您始终可以编写如下模型函数:

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 请求。

没错,而且有效,但我认为这是更好的解决方案:

'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;
});

非常感谢