我正在尝试从服务器获取对象列表,该集合接受第一条记录并忽略其余记录。
来自服务器的响应是类型application/json
[{"id":1,"name":"A"},
{"id":2,"name":"B"},
{"id":3,"name":"C"}]
在客户端,
var collection = new Backbone.Collection;
collection.url = 'url_to_the_resource';
collection.fetch();
console.log( collection.toJSON());
输出是
[{"id":1,"name":"A"}]
编辑
我在集合准备好时调用log,即异步调用完成后如下:
collection.fetch().done( function() {
console.log( collection.toJSON() );
});
并且仍然获得了一项记录。我还检查了backbone.js 源代码,并在行中找到了以下内容682
// If a duplicate is found, prevent it from being added and
// optionally merge it into the existing model.
if (existing = this.get(model)) {
并在该行之后添加了一个日志记录,发现主干合并了所有模型,为什么?