自定义模型请求

Backbone.js custom model request

本文关键字:请求 模型 自定义      更新时间:2023-09-26

是否有办法创建自己的ajax方法来发出POST请求,而不是使用save ?

Save不仅触发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请求

这是正确的,它的工作,但我认为这是一个更好的解决方案:

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

非常感谢