2011-10-07 2 views
3

Backbone.js를 알아 내려고 PeepeCode backbone.js 기본 비디오를 살펴 보려고합니다.Backbone Collection fetching throwing id 오류

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

내 컬렉션 코드 :

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

내 JSON이다 : 나는 시도하고 크롬의 자바 스크립트 콘솔에서 컬렉션을 가져올 때

, 그것은 다음과 같은 오류가 발생합니다

window.Albums = Backbone.Collection.extend({ 

    model : Album, 

    url: '/services/AlbumsService' 

}); 

아이디어가 있으십니까? 왜 이런 일이 일어나는지 확신 할 수 없습니다. 나는 json에 id 필드가있다. 그래서 나는 의아해한다. 어떤 도움을 주셔서 감사합니다!

+2

모델을 직접로드하면 컬렉션이 올바르게 초기화됩니다 (즉, fetch()가없는 경우) :'var albums = new window.Albums(); albums.reset ([{ "id": "1", ...}])); 먼저 JSON이 서버에 의해 올바르게 전송되지 않는다고 생각합니다. – malclocke

+0

그래서 Albums.fetch()를 할 때 서버가 JSON을 응답으로 보내고 있습니까? 그것은 꽤 깨끗해 보이기 때문입니다. 동기화 기능을 사용 해본 적이 있습니까? 아니면 곧바로 사용할 수 있습니까? 어떤 기능을 사용하여 모델 ID를 검색합니까? collections.get (id)? – jmk2142

답변

0

내 모델 앨범이 내 컬렉션에 표시됩니까? 백본에서 상속 받습니까. 모델. 연장?