2013-07-04 2 views
1

백본/밑줄이있는 개체 목록을 출력하려고하지만 백본에서 이상한 출력이 나타납니다. 나는 파싱 된 데이터 구조를 기대하지만, 내가 얻은 것을 올바른 방법으로 파싱하지 않는 것처럼 보일 수있다. 어떤 아이디어? 이 출력의 구조백본으로 정적 json을 구문 분석하려고합니다.

var itemModel = Backbone.Model.extend(); 
      var ItemList = Backbone.Collection.extend({ 
       model: itemModel, 
       url: 'http://l.blahcouk.sandbox:8080/franchise/videocollection/date/' 
      }); 

      var ItemsView = Backbone.View.extend({ 
       template: _.template($('#bandlist_template').html()), 
       render: function (eventName) { 
        _.each(this.model.models, function (items) { 
         console.log(items); 
         var lTitle = items.attributes['title']; 
         var lTemplate = this.template(items.toJSON()); 
         $(this.el).append(lTemplate); 
        }, this); 
        return this; 
       } 
      }); 
      var lItems = new ItemList; 
      var AppView = Backbone.View.extend({ 
       el: "body", 

       render: function() { 
        var lItemsView = new ItemsView({ 
         model: lItems 
        }); 
        var lHtml = lItemsView.render().el; 
        $('#bands').html(lHtml); 
       }, 

       initialize: function() { 
        var lOptions = {}; 
        lOptions.success = this.render; 
        lItems.fetch(lOptions); 
       } 
      }); 
      var App = new AppView; 

입니다 : 여기

{"1":{"title":"Test Video Collection - blah (placeholder)","image":"imagenotavailable"},"2":{"title":"Camur Exerci Gemino","image":"public:\/\/gallery\/large\/imagefield_ieMdB8.jpg"},"3":{"title":"Abdo Nutus Sed","image":"public:\/\/gallery\/large\/imagefield_LtRKG1.png"},"4":{"title":"Quidne Vereor","image":"public:\/\/images\/video\/[current-date:custom:Y\/m\/d]\/imagefield_j7lGlq.jpg"},"5":{"title":"Ludus Ratis","image":"public:\/\/video-collections\/imagefield_aB3dpQ.png"},"6":{"title":"Appellatio Dolore Huic Vulputate","image":"public:\/\/gallery\/large\/imagefield_LtRKG1.png"}} 

내 코드입니다 :

여기 내 JSON 피드이다

r {cid: "c2", attributes: Object, collection: r, _changing: false, _previousAttributes: Object…} 
_changing: false 
_events: Object 
_pending: false 
_previousAttributes: Object 
attributes: Object 
1: Object 
2: Object 
image: "public://gallery/large/imagefield_ieMdB8.jpg" 
title: "Camur Exerci Gemino" 
__proto__: Object 
3: Object 
4: Object 
5: Object 
6: Object 
__proto__: Object 
changed: Object 
cid: "c2" 
collection: r 
__proto__: s 

답변

1

여기 내 생각은 무슨 일이 일어나고 있는지의가 - 귀하의 JSON은 유효하지만 백본이 기대하는 것은 아닙니다. 백본 컬렉션은 배열 개체가 아니라 숫자 키가있는 개체가 필요합니다. 그럼, 당신이해야 할 것은 ... 같은 더 할 수 있도록 JSON 출력을 변경

[ 
{"title":"Test Video Collection - blah (placeholder)","image":"imagenotavailable"},{"title":"Camur Exerci Gemino","image":"public:\/\/gallery\/large\/imagefield_ieMdB8.jpg"}, 
.... 
] 

보다는

{ 
"1": {"title":"Test Video Collection - blah (placeholder)","image":"imagenotavailable"}, 
"2": {"title":"Camur Exerci Gemino","image":"public:\/\/gallery\/large\/imagefield_ieMdB8.jpg"}, 
.... 
} 

이 출력을 변경할 수없는 경우

이며,이 문제를 해결 방법이 있습니다.

+0

또는 JSON을 변경할 수있는 권한이없는 경우 컬렉션 및 모델을 올바르게 채우기 위해 구문 분석을 무시하십시오. –

관련 문제