Backbone:处理创建时的服务器响应

时间:2012-08-09 19:22:49

标签: javascript backbone.js

我有一个处理表格的视图 此表单中有一个事件会在单击“保存”按钮时触发:

var FormView = Backbone.View.extend({
    initialize : function(options){
        this.collection = new PlayerCollection( {url:options.url} );
        this.collection.bind('add', this.addPlayer);
        this.collection.bind('reset', this.addAllPlayers );
    },
    saveNewPlayer : function(event){

        this.collection.create({
        name :    this.$form.find('input[name="name"]').val(),
        });
    }
});

(我已经省略了这个例子不需要的一些代码)。

此代码正确保存新模型,将数据发送到服务器并创建与此新模型关联的View。 但是我想知道在将数据发送到服务器时如何处理服务器响应 例如,如果服务器无法保存数据或发现任何其他类型的错误,我如何处理?

我是骨干新手,我从现在开始使用jQuery编写我的应用程序代码,所以我习惯使用successerror回调$.ajax提供。< / p>

1 个答案:

答案 0 :(得分:4)

Backbone提供类似的回调,作为第二个选项哈希添加到create(和fetch and save)命令中,如下所示:

this.collection.create({
    name :    this.$form.find('input[name="name"]').val(),
},{
    error : function(model, response){},
    success: function(model, response){}
});