javascript - Backbone.js 中的自定义 REST api 响应

标签 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}
}

对于 /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"}

如何将其与 Backbone.js 集合和模型集成?我知道 Backbone.js 期望 api 返回对象字典数组或纯对象字典 - 有没有办法改变它?

最佳答案

是的,有。你可以覆盖 model.parsecollection.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;
                    });
                }
            });

关于javascript - Backbone.js 中的自定义 REST api 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14851557/

相关文章:

javascript - 绑定(bind)数据后从指令操作 DOM

javascript - 如何在 Bootstrap 上创建多选下拉列表?

javascript - 在输入的数字旁边 react 显示百分比,反之亦然

Javascript 将电话号码填充到 3 个输入文本框中,名称相同但没有 id

javascript - underscorejs中_.each(list)为空时如何显示消息?

javascript - 在amcharts的堆积柱形图中,如何在工具提示中显示特定列的所有值?

javascript - 根据多个模型属性过滤主干集合

javascript - 如何覆盖 CompositeView 渲染方法?

javascript - Backbone View : el and events

javascript - this.$something = this.$ ('something' ) 是什么意思?