내 Backbone.js 기반 앱에서 204 상태 및 빈 본문으로 응답하는 API에 대해 이야기하고 있습니다. 포함되지 않은 콜렉션이 요청 된 경우 모든 데이터가 아직 없습니다. 이런 경우 내게 RESTful API가 응답해야하는 것은 제 의견입니다.Backbone.js 컬렉션 요청에서 204 응답을 처리하는 방법
지금 내 앱에는 204 개의 응답을받은 후에도 아무런 이벤트도 발생하지 않는 문제가 있습니다. 내가 좋아하는 reset
및 all
결합을 시도 :
FoosCollectionView.prototype.initialize = function() {
this.collection = new FoosCollection;
this.collection.bind('reset', this.render, this);
this.collection.bind('all', this.render, this);
return this.collection.fetch();
};
을하지만 이벤트가 발생하지 않습니다. 그래서 콜백을 가져 오려고했습니다 :
FoosCollectionView.prototype.initialize = function() {
this.collection = new FoosCollection();
return this.collection.fetch({
success: function(a, b, c) {
debugger;
},
error: function(a, b, c) {
debugger;
},
complete: function(a, b) {
debugger;
}
});
};
같은 동작입니다. 응답이 204 인 경우 디버그 문에 도달하지 않습니다. 204 응답을 어떻게 처리 할 수 있습니까? 내가 sync
으로 파고 들어가서 204에 대한 추가 처리를 추가해야합니까, 아니면 내가 아직 모르는 백본에 뭔가가 있습니까?
솔루션은 같은 시간에 꽤 기대하고 어색한 것 같다 들으 펠릭스
를 (권장하지 않음). 그러나 거기에서 'no-content'뷰의 렌더링을 다루는 것은보기 흉한 것처럼 보입니다. – GeorgieF
적어도 조금 더 우아 해 보이는 해결책을 찾았습니다. 내 컬렉션에서 구문 분석을 정의합니다. 안에는 주어진 응답이 비어 있는지 확인합니다. 그렇다면 컬렉션 모델을 []로 설정하고 차례로 재설정 이벤트를 트리거합니다. 컬렉션보기는 해당 이벤트에 바인딩되며 이후에 "내용 없음"템플릿을 렌더링 할 수 있습니다. – GeorgieF