2011-09-19 54 views
0

在我目前的Backbone應用程序中,我沒有任何問題創建或銷燬 模型。這些更改傳播到我的服務器沒有任何問題。但 每當我試着做了model.save(屬性),我看這行拋出一個TypeError :https://github.com/documentcloud/backbone/blob/master/backbone.js#L117Backbone.js TypeError拋出model.save

該模型被更新(Rails)的服務器上,但事情打破 之後。這是堆棧跟蹤。 (對不起,行號是指 級聯JS文件。)

Backbone.Events.trigger() at application.js:11574 
_.extend._onModelEvent() at application.js:12092 
d() at (internal script):1426Backbone.Events.trigger() at 
application.js:11574 
_.extend.change() at application.js:11808 
_.extend.set() at application.js:11680 
_.extend.save() at application.js:11753 
Map.mapMoveGeoPointMode() at app.js:741 
(anonymous function)() at app.js:894 
jQuery.event.handle() at application.js:2966 
jQuery.event.add.elemData.handle.eventHandle() at application.js:2600 

在以前的應用程序,我已經對節能車型 這樣沒有一點問題。有什麼建議要看什麼?

注意:我認爲我不會重複嘗試保存沒有網址的模型this fellow's problem

回答

3

鑑於該模型是在服務器上更新正確的,我不認爲這有什麼用save()功能本身,而是與change事件它所觸發的 - 我想你可以測試這個簡單的調用myModel.trigger('change')看看是否會拋出同樣的錯誤。

我最好的猜測是,爲什麼會發生這種情況,在某種程度上,你綁定了某種功能以外的東西 - 例如一個未定義的變量 - 到change事件。我會找這樣的錯誤:

myModel.bind('change', this.misspelledMethod, this); 

但是這幾乎是不可能的進一步調試沒有看到實際的代碼,而不僅僅是一個堆棧跟蹤。

+0

感謝您的調試建議。你是對的,我發現了一個綁定,我已經提到了functionName()而不是functionName。 –

1

它看起來像綁定到模型上的事件並傳入某些不是有效的函數。確保所有的綁定語句都通過函數:

var FUNC = function() {}; 
MyModel.bind('reset' FUNC); 
+0

非常感謝您的快速響應! –

相關問題