use*_*521 5 javascript backbone.js
My REST api returns data in json in following format for `/api/users`:
{
"objects":[
{"User":{"id":"1","created":"2013-02-13 09:22:42","modified":"2013-02-13 09:22:42","username":"some.email@gmail.com","role":"admin"}},
{"User":{"id":"2","created":"2013-02-13 09:22:55","modified":"2013-02-13 09:22:55","username":"some.email2@gmail.com","role":"analyst"}},
{"User":{"id":"3","created":"2013-02-13 09:23:02","modified":"2013-02-13 09:23:02","username":"some.email3@gmail.com","role":"moderator"}},
{"User":{"id":"4","created":"2013-02-13 09:23:10","modified":"2013-02-13 09:23:10","username":"some.email4@gmail.com","role":"representative"}}
],
"meta":
{"page":1,"pageCount":1,"prevPage":false,"nextPage":false,"limit":20,"count":4,"sort":null,"direction":null}
}
Run Code Online (Sandbox Code Playgroud)
因为/api/users/{id}它以下列格式返回数据:
{"User":{"id":"1","created":"2013-02-13 09:22:42","modified":"2013-02-13 09:22:42","username":"some.email@gmail.com","role":"admin"}
Run Code Online (Sandbox Code Playgroud)
我如何将它与Backbone.js集合和模型集成?我知道Backbone.js希望api返回对象dicts或纯对象dict的数组 - 有没有办法改变它?
Hui*_*eng 10
就在这里.您可以覆盖model.parse或collection.parse.例如:
var UserCollection = Backbone.Collection.extend({
model: User,
url: '/api/users',
parse: function(response) {
// process response.meta when necessary...
return response.objects;
});
}
});
var UserModel = Backbone.Model.extend({
//...
parse: function(response) {
return response.User;
});
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1383 次 |
| 最近记录: |