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(),
});
}
});
(我中省略不需要在這個例子中的一些代碼)。
該代碼正確保存新模型,將數據發送到服務器並創建與此新模型關聯的視圖。 但我想知道如何處理服務器響應時,數據發佈到它。
例如,如果服務器無法保存數據或發現其他類型的錯誤,我該如何處理?
我是新來的主幹,我從現在開始使用jQuery來編寫我的應用程序,所以我習慣於使用success
和error
回調$.ajax
優惠。
這可能是值得加入到這個答案,你的服務器上你想要什麼要做的是以200以外的http狀態進行響應。這就是Backbone知道如何執行錯誤回調。因此,獲取dataIn,驗證它,授權它,運行一個事務(並且可能出錯)等等,你以適當的狀態回覆(400,500等)。你可以從服務器返回任何你想要的東西(比如錯誤對象和有關錯誤的信息),並且可以通過響應參數訪問它。 – jmk2142 2012-08-09 19:41:54
好評!一個很好的例子就是在表單驗證中使用400-錯誤,並將服務器發送的驗證錯誤發送給主幹中的表單處理代碼。 – 2012-08-09 20:11:49
這是在哪裏記錄?我無法在http://backbonejs.org/#Collection-create – 2012-08-09 20:34:11