У меня проблема: My API возвращает null - данных нет. (это хорошо!). Мой collection
получает данные, но создает один пустой объект.Backbone Collection добавляет пустой объект, когда API возвращает данные
Мой результат API (с Firebug):
{"data":{"objects":null}}
Моя коллекция:
var MyCollection = Backbone.Collection.extend({
model: MyModel,
url: '/v1/ajax/load-objects',
parse: function(resp, xhr) {
return resp.data.objects;
}
});
При печати self.model.toJSON()
на мой взгляд (модель коллекции), я получаю это (от Firebug):
[Object {}]
Мой вопрос: Почему коллекция помещает один пустой объект в мою коллекцию? API возвращает null, поэтому он должен быть пустым.
Я попытался добавить значения по умолчанию к моей модели (которые использует коллекция), они не отображаются. Поэтому я предполагаю, что он принимает значение null как данные для одного объекта. Как я могу заставить его сделать это?
Thx
Рон
Вы пробовали возвращение пустой array ('[]'), когда 'objects' равно null? Материнская плата IIRC ожидает, что массив будет возвращен из 'parse'. Я предполагаю, что он видит, что вы возвращаете один объект (null) и предполагает, что вам нужен массив из одного элемента длиной. – ivarni
хороший момент, я попробую – Ron