2011-11-02 21 views
3

我正在使用backbonejs v 0.5.3 + jquery v 1.6.4開發web應用程序。 在後端我使用jboss AS 7.0.2上的jboss rest rest。Backbone + jquery + Java在model.save()上調用後端錯誤回調

當我嘗試獲取模型時,一切正常,但是當我嘗試更新模型時,每次都會調用錯誤回調函數。這是我的js代碼:

save : function() { 
    this.model.save({id : this.model.get('id')}, { 
     success : function(model, resp) { 
      alert('success'); 
     }, 
     error : function(model, resp) { 
      alert('error'); 
     } 
    }); 
}, 

奇怪的是:如果我嘗試調試javascript代碼,顯示成功警報。在正常執行中顯示錯誤警報(我在Chrome和Firefox上獲得了相同的行爲)。

對此有何想法?

預先感謝您!

回答

1

什麼是你的服務返回POST/PUT保存操作?

請確保服務器正在返回對象在正文中的JSON表示...或至少已更改字段的JSON表示。特別要確保ID字段被髮回,因爲Backbone將在稍後更新或刪除時使用它。

+0

嗨,布萊恩,謝謝你回到我身邊。我的服務在PUT調用後返回更新對象的json表示。我想我有一個不同的問題。我在服務代碼上添加了20秒的睡眠調用,然後重新執行代碼。我希望在20秒後看到錯誤警報。相反,錯誤回調在model.save()調用之後立即執行。它不等待服務響應!對此有何想法?謝謝 –

+0

開始調試un-minified源碼的時間:)你是否在控制檯日誌中看到任何異常? 「resp」對象是什麼樣的? –

+0

我在控制檯日誌中看不到任何異常。以下是響應對象:**狀態:** 200 OK **標題:**日期:2011年11月2日星期三20:22:09 GMT 傳輸編碼:分塊 服務器:Apache-Coyote/1.1 Content-類型:application/json **數據:** {「@type」:「d」,「@ rid」:「#11:0」,「@ version」:「1」,「id」:「myemail @ email .com「,」firstname「:」姓名「,」姓氏「:」姓氏「,」creationdate「:」2011-11-02 21:16:48:31「,」out「:」#6:0「} –

相關問題