2012-06-07 2 views
2

Backbone.js를 배우려고 노력하는 동안, 나는 다음과 같은 코드를 사용하여 JSON 파일의 내용을 잡기 위해 노력했습니다에서 JSON을 얻기 :Backbone.js - 다시 URL

(function($){ 
    var MyModel = Backbone.Model.extend(); 
    var MyCollection = Backbone.Collection.extend({ 
     model : MyModel, 
     url: '/backbone/data.json', 
     parse: function(response) { 
      console.log(response); 
      return response; 
     } 
    }); 

    var stuff = new MyCollection; 
    console.log(stuff.fetch()); 
    console.log(stuff.toJSON()); 
})(jQuery) 

'stuff.fetch을 () '는 (내가 responseText에있는 데이터를 가지고) 전체 객체를 반환하고,'stuff.toJSON '은 아무 것도 반환하지 않지만 ([]), parse 메소드의 콘솔은 원하는 데이터를 반환합니다 (내 데이터의 json 객체).

내가 여기에 명백한 것을 놓치고있는 것처럼 느껴지지만 올바른 데이터를 얻을 수없는 이유를 알아낼 수없는 것 같습니다. 누군가가 올바른 방향으로 나를 가르키거나 내가 여기서 잘못하고있는 것을 보여줄 수 있습니까? 틀린 것을 모델로 사용하고 있습니까?

답변

6

fetch은 비동기 호출이므로 응답을 받으려면 success 콜백을 인수로 전달하십시오. Backbone.js Homepage

+5

또는 컬렉션의' "재설정"'이벤트에 처리기를 바인딩하고이 작업을 수행에

stuff.fetch({ success: function (collection, response) { console.log(response); } }) 

더. –