2012-07-11 145 views
0

我想將模型的屬性設置爲不同的東西。當我保存模型時,Backbone發出POST請求而不是PUT請求。執行POST請求而不是PUT請求的骨幹

我在另一個Stackoverflow帖子上看到,Backbone使用模型的id來確定模型是否是新建的。當我console.log(model),模型有一個id屬性。當我console.log(model.id),它打印出未定義。如何當我做一個console.log(model),模型有一個id屬性,但當我做console.log(model.id)時,我回來undefined?

Backbone使用哪種方式確定模型是否爲新模型?而且,我該如何解決這個問題?我正在使用backbone-tastypie。

+0

這有幫助嗎? - http://stackoverflow.com/questions/7473057/save-on-existing-model-causes-post-instead-of-put – 2012-07-11 06:17:48

回答

2

您是如何在首位創建模型的?模型的id需要在模型的數據中指定。通常這會在第一次保存新對象時在服務器響應中返回。一旦設置了ID,Backbone將使用PUT而不是POST進行保存。

+0

我通過Backbone創建了模型。它實際上有一個id屬性。當我做model.get(「id」)時,我得到有效的ID。 – egidra 2012-07-12 00:58:34

+0

我認爲我們需要查看您的代碼以獲取更多信息。 – lecstor 2012-07-12 02:01:43

+0

問題在於計時問題。我必須將代碼放在成功獲取後調用的成功回調中。 – egidra 2012-07-12 05:41:54