Trong ứng dụng dựa trên Backbone.js của tôi Tôi đang nói chuyện với API của tôi phản hồi trạng thái 204 và một phần trống, trong trường hợp yêu cầu thu thập không chứa bất kỳ dữ liệu nào. Đó là quan điểm của tôi như thế nào một RESTful API nên trả lời trong trường hợp như vậy.Cách xử lý phản hồi 204 trong yêu cầu thu thập Backbone.js
Trong ứng dụng của tôi bây giờ tôi có vấn đề, rõ ràng là không có sự kiện nào được kích hoạt sau khi nhận được phản hồi 204. Tôi đã cố gắng ràng buộc reset
và all
như:
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();
};
nhưng các sự kiện không bao giờ kích hoạt. Vì vậy, tôi đã cố gắng tìm nạp một số cuộc gọi lại:
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;
}
});
};
Hành vi tương tự. Không có câu lệnh gỡ rối nào đạt được trong trường hợp phản hồi là 204. Làm thế nào tôi có thể xử lý 204 câu trả lời sau đó? Tôi sẽ phải đào sâu vào sync
và thêm một xử lý bổ sung cho 204 có hoặc có một cái gì đó trong xương sống mà tôi chỉ đơn giản là không biết chưa?
Thx Felix
Theo như tôi phát hiện ra, tôi có thể thêm một số đăng nhập vào bộ sưu tập phân tích phương pháp. Nhưng việc xử lý hiển thị chế độ xem 'không có nội dung' từ đó có vẻ xấu xí. – GeorgieF
Tôi đã tìm thấy một giải pháp có vẻ ít thanh lịch hơn một chút. Tôi xác định phân tích trong bộ sưu tập của tôi. Bên trong tôi kiểm tra xem phản ứng đã cho có trống không. Nếu vậy, tôi đặt các mô hình bộ sưu tập thành [] để kích hoạt sự kiện đặt lại. Chế độ xem bộ sưu tập được ràng buộc với sự kiện đó và sau đó có thể hiển thị một số mẫu "không có nội dung ở đây". – GeorgieF