-1

在获取结果后,我正在调用一个休息网络服务backboneCollection.fetch ,我得到的响应如下:

[{"projects":[{"id":1537512,"name":test},{"id":1537513,"name":test1}]}] 
//response =JSON.stringify(projects);

我怎样才能迭代这个?

4

2 回答 2

1

你应该覆盖你的集合的parse方法:

... rest of collection...

,parse: function(response) {
    return response[0].projects;
}

这样,您的集合将由返回的项目数组组成,而没有额外的包装对象。

在http://backbonejs.org/#Collection-parse查看优秀的文档

于 2013-03-08T06:20:15.117 回答
1

我相信您未定义 response.projects 的原因是,如果您的响应对象是

[{"projects":[{"id":1537512,"name":test},{"id":1537513,"name":test1}]}]

正如您所说,那么您的整个响应都包含在一个数组中。

如果你要带response[0]你会有

{"projects":[{"id":1537512,"name":test},{"id":1537513,"name":test1}]}

你应该能够接受 response.projects 这个。

从那里遵循@Andbdrew 关于 Backbone 解析函数的声明。

于 2013-03-08T08:03:49.503 回答