backbone.js에 모델에 액세스 할 수 없습니다 내가 가지고 내가 편안한 서비스에서이 결과를 가지고
참고 : 응답이 JSON 형식으로이처럼 표시 크롬에서 플러그인입니다 그.
이미지 2 [위의 모델] 모델의 속성이 인 경우 각 항목은 Items 아래에 있습니다. 품목에 액세스하려면 어떻게해야합니까?
내 문제는 내가이 결과에서 각 항목의 데이터를 액세스하거나 검색 할 수 없습니다. 서버 측에서 아무것도 변경해서는 안됩니다. 나는이 코드로 백본을 사용하고있다.
window.Item = Backbone.Model.extend();
window.ItemCollection = Backbone.Collection.extend({
model: Item,
url: 'http://localhost/InterprisePOS/Product/loaditembycategory/Event Materials'
});
window.ItemListView = Backbone.View.extend({
tagName : 'ul',
initialize: function(){
this.model.bind("reset",this.render,this);
},
render: function(eventName){
_.each(this.model.models.Items, function(item){
$(this.el).append(new ItemListItemView({model:item}).render.el);
},this);
return this;
}
});
window.ItemListItemView = Backbone.View.extend({
template : _.template($("#item-list").html()),
render: function(eventName){
$(this.el).html(this.template(this.model.toJSON()));
return this;
}
});
var AppRouter = Backbone.Router.extend({
routes:{
"":"list"
},
list:function(){
this.itemList = new ItemCollection();
this.itemListView = new ItemListView({model:this.itemList});
this.itemList.fetch();
$("#itemContainer").html(this.itemListView.render().el);
}
});
var app = new AppRouter();
Backbone.history.start();
UPDATE 나는 중첩 된 JSON 객체로 내 문제를 해결할 수 있었다. 이제 모델 속성 또는 내 컬렉션에 개별 항목이 채워집니다. 그러나 여전히 문제는 그것이 작동하지 않으며 내 견해를 나타내지 않는다는 것입니다.
이 내가 추가 한 코드는 다음과 같습니다
parse: function(response) {
return response.Items;
}
UPDATE
내가 마지막으로 내 질문에 대답! horray! 어떻게 든 내 ItemListview에서 렌더링에 "()"을 넣는 것을 잊어 버렸습니다. 또한 $("#ItemContainer")
이 작동하지 않는 것 같아서 $('#ItemContainer)
으로 만들었습니다. 이제는 내 모델에서 세부 정보를 표시하고 있습니다.
아니요. 응답은 JSON 형식입니다. 어떻게 든 나는 당신이 이미지가 표시하고있는 것을 만드는 크롬에 플러그인을 추가했지만 응답은 JSON에 있다고 확신합니다. – jongbanaag
동기화를 재정의 할 필요가 없습니다. 가져 오기 및 저장 옵션을 전달해야 XML을 처리 할 수 있습니다. 가져 오기와 예를 들어, 당신은 같은 것을 할 것 : this.model.fetch을 ({ 의 contentType : "응용 프로그램/JSON" dataType와 "XML", processData : 거짓 }); 매력처럼 작동합니다. –