2014-10-30 60 views
0

我是Backbone的新手,這就是爲什麼我在標題中寫下「簡單」的原因,因爲這可能是一個簡單解決方案的錯誤。我一直無法從服務器獲取數據並記錄下來。骨幹js。從服務器獲取數據的簡單錯誤

所以,這是代碼:

TheModel = Backbone.Model.extend({ 
    urlRoot: '/times/api/day' 
}); 

var nModel = new TheModel({ id:1 }); 

nModel.fetch(); 

console.log(nModel.get("minutes")); 

的API網址傳回一個JSON對象:

curl http://localhost:7000/times/api/day/1 

{"date": "2014-10-25T18:56:32Z", "minutes": 400, "comments": "Tw.Karaoke", "trophy": "", "owner": null} 

它不記錄 「400」,它記錄 「未定義」,爲什麼?。

回答

3

提取操作是異步的,所以你必須要等到Ajax調用完成

nModel.fetch({ 
     success:function(){ 
      console.log(nModel.get("minutes")); 
       }}); 
+0

謝謝,我有一個額外的問題..我應該用「成功」都是我獲取數據,並希望時間對這些數據做些什麼?我的意思是,這是做到這一點的「方式」嗎? – alejoss 2014-11-05 01:35:15

+0

@alejoss你可以監聽事件,如同步,重置模型,然後繼續,如果你不想使用成功回調 – StateLess 2014-11-05 05:39:22