Backbone:如何防止Backbone Ajax函数覆盖jQuery Ajax方法?

时间:2015-04-29 15:55:40

标签: javascript jquery ajax backbone.js

非常有趣的情况!

以下代码表示订单输入。在保存之前用户应该计算订单总计他点击 #calTTotal 按钮然后点击 #saveOrder 按钮。

问题是如果用户只启动 saveOrder 功能一次,那么 calcTotal 函数中的ajax方法将始终调用 model.save saveOrder 功能!

我认为 this.model.save 函数会覆盖一些Backbone模型函数,因此任何ajax请求都会执行 model.save 中的任何操作。

我应该如何防止这种行为?

events: {
     'click #calcTotal': 'calcTotal',
     'click #saveOrder': 'saveOrder'
},
calcTotal: function() {
    this.model.set( $('form').serializeJSON() );
    var that = this;

    $.ajax({
        url: 'api/order/calcTotal',
        type: 'GET',
        data: this.model.toJSON(),
        dataType: 'json',
        success: function( result ) {
            that.model.set({
                'total': result.total
            });
            that.renderTotal();
        }
    });
},

saveOrder: function() {
    var that = this;

    this.model.save({
        success: function() {
            console.log('CHECK');
        }
    });
},

0 个答案:

没有答案