使用JSON对象自动填充Backbone.Collection

Ram*_*Ram 1 json backbone.js

//Model
var Dog = Backbone.Model.extend({
    name:'',
    breed:''

});


//Collection
var Dogs = Backbone.Collection.extend({
    model : Dog,
    url : '/dogs'

    parse : function(res) 
    {
        alert('response' + res);
    return res;
    }

});
Run Code Online (Sandbox Code Playgroud)

这是我从服务器收到的JSON目标,它是使用Jersey实现的.我从Server返回一个DogModel列表,它被转换为JSON

@Produces(MediaType.APPLICATION_JSON)

{"DogModel":[{"name":"Jane","breed":"Great Dane"},
{"name":"Rocky","breed":"golden Retriver"},
{"name":"Jim","breed":"Lab"}]}
Run Code Online (Sandbox Code Playgroud)

不知道我还没有正确理解Collection及其url属性的用法.我的假设是,当在Collection上调用fetch时,它将从服务器获取dog详细信息并填充集合.

我确实得到了如上所述的响应,但未按预期填充集合.

如何使用集合自动填充模型列表?我是否需要处理JSON对象的表示?

帮助感谢!!!

Pau*_*aul 11

parse功能需要返回狗阵列.因此,您可以按如下方式更新代码.

parse : function(res) 
{
    alert('response' + res);
    return res.DogModel;
}
Run Code Online (Sandbox Code Playgroud)

在旁注中,您希望在defaults哈希上声明模型的默认属性值,如下面的代码所示(请参阅文档)

var Dog = Backbone.Model.extend({
  defaults: {    
    name:'',
    breed:''
  }
});
Run Code Online (Sandbox Code Playgroud)