2

フォームを処理するビューがあります。
このフォームには、[保存]ボタンをクリックすると起動するイベントがあります。

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(),
        });
    }
});

(この例では不要なコードをいくつか省略しました)。

このコードは、新しいモデルを正しく保存し、データをサーバーに送信して、この新しいモデルに関連付けられたビューを作成します。しかし、データをPOSTするときにサーバーの応答をどのように処理するのだろうか。
たとえば、サーバーがデータを保存できなかった場合やその他の種類のエラーが見つかった場合の対処方法を教えてください。

私はバックボーンに不慣れで、アプリケーションのコーディングにjQueryを使用しているので、オファーの使用successerrorコールバックに慣れて$.ajaxいます。

4

1 に答える 1

4

バックボーンは同様のコールバックを提供し、次のように、作成(およびフェッチと保存)コマンドに2番目のオプションハッシュとして追加されます。

this.collection.create({
    name :    this.$form.find('input[name="name"]').val(),
},{
    error : function(model, response){},
    success: function(model, response){}
});
于 2012-08-09T19:26:40.090 に答える