2013-10-12 60 views
4

所以沒有什麼特別的uphere(這真的是竊聽我)。我很確定有一些我想念的東西。骨幹保存響應200時發生火災錯誤

所以這裏的代碼位是相對的:

_me.attributes.answers.push(oAnswer); 
    _me.save(null,{ 
     success : function(){ 
      console.log('saved the answer'); 
      q = new q.Questions() ; 
      q.fetch({ 
       success : function(data){ 
        console.log('reloading the template with this data'); 
        console.log(data) 
        this.render({model:data , el:this.$el}) 
       } 
      }) 
     }, 
     error : function(model , response , x){ 
      console.log('error') 
      console.log(response) 
      console.log(x) 
     } 
    }); 

現在我可以在我的控制檯該請求已經取得(PUT)和服務器響應200 (OK)看到。

,但我仍然得到error記錄下來,當我試圖登錄我得到這個

readyState 
    4 

responseText 
    "OK" 

status 
    200 

statusText 
    "OK" 

仍然骨幹剛剛打響error處理程序_me.save的反應,這是爲什麼?

+0

因此,您得到的錯誤不是'_me.save'而是'q.fetch'? – glortho

+0

您是否從服務器返回了空的內容?這是[對jQuery的無效響應](http://jquery.com/upgrade-guide/1.9/#jquery-ajax-returning-a-json-result-of-an-empty-string)。另一種可能性是:如果你從不同的域進行調用,那麼你的瀏覽器可能會爲你做[CORS](http://www.html5rocks.com/en/tutorials/cors/)。 – j03w

+0

@glortho是的,即時獲取_me.save錯誤,它是唯一的錯誤處理程序。 –

回答

1

根據解析函數,您的服務器響應無效。嘗試在保存時將「parse:false」傳遞給您的模型選項

model.save(attrs, { 
    success: function() { ... }, 
    parse : false 
}); 
+0

這個問題很久以前就已經解決了。感謝您花時間分享您的知識。希望有人能從中受益。 :) –