2011-10-07 27 views
3

我想弄清楚Backbone.js,並通過PeepeCode backbone.js基礎視頻。骨幹集合抓取投擲id錯誤

當我試着在Chrome的JavaScript控制檯獲取集合,它引發以下錯誤:

Uncaught TypeError: Cannot use 'in' operator to search for 'id' in [{ 

這裏是我的JSON:

[{ 
    "id" : "1", 
    "title": "Bound - Zen Bound Ingame Music", 
    "artist": "Ghost Monkey" 
}, 
{ 
    "id": "2", 
    "title": "Where the Earth Meets the Sky", 
    "artist": "Tom Heasley" 
}] 

這裏是我的收藏代碼:

window.Albums = Backbone.Collection.extend({ 

    model : Album, 

    url: '/services/AlbumsService' 

}); 

任何想法?不知道爲什麼會這樣。我在json中有一個id字段,所以我很困惑。謝謝你的幫助!

+2

如果直接加載它的模型,即沒有fetch(),該集合是否可以正確初始化:var var albums = new window.Albums(); albums.reset([{「id」:「1」,...}]);'?首先猜我會說服務器沒有正確地發送JSON。 – malclocke

+0

所以當你做一個Albums.fetch()時,服務器在響應中發回了那個JSON?因爲它看起來很乾淨。你是否擺弄同步功能,還是直接開箱?您運行什麼功能來搜索模型ID? collections.get(id)? – jmk2142

回答

0

您的模型相冊對您的收藏可見嗎?它是否從Backbone.Model.extend繼承?