向JSON字符串添加新属性时,ExtJS网格不绑定

时间:2013-12-03 12:39:21

标签: extjs extjs4

我从我的Restful WCF服务获取以下JSON字符串作为响应:

{ “GetAlbumResult”:[{ “AlbumList”:[{ “艺术家”: “Kanjoliya”, “ID”:128, “名称”: “戈帕尔”},{ “艺术家”: “卡普尔”,“ID “:143,” 名 “:” 拉利特 “},{” 艺术家 “:” Ayachit”, “ID”:138, “名”: “MADHUKAR”},{ “艺术家”: “Chouhan”, “ID”: 142, “姓名”: “和Manish”},{ “艺术家”: “纳拉亚南”, “ID”:146, “姓名”: “的Manoj”}], “结果”:5}]}

这是我绑定ExtJS网格的代码:

  Ext.define('DHT.store.Users', {
        extend: 'Ext.data.Store',
        autoLoad: true,
        autoSync: true,
        model: 'DHT.model.User',
        proxy: {
            type: 'ajax',
            timeout: 120000,
            noCache: false,
            api: {
                read: 'http://localhost:52984/ExtJsRestfulService.svc/GetAlbum',
                create: 'http://localhost:52984/ExtJsRestfulService.svc/AddAlbum',
                update: 'http://localhost:52984/ExtJsRestfulService.svc/UpdateAlbum',
                destroy: 'http://localhost:52984/ExtJsRestfulService.svc/DeleteRecord'
            },

            reader:
            {
                type: 'json',
                root: 'AlbumList',
                successProperty: 'success'
            },

            writer:
            {
                type: 'json',
                writeAllFields: true
            },
            afterRequest: function (request, success) {
                var obj = new DHT.controller.Users();
                if (request.action == 'read') {
                    obj.readCallback(request);
                }

                else if (request.action == 'create') {
                    obj.createCallback(request);
                }

                else if (request.action == 'update') {
                    obj.updateCallback(request);
                }

                else if (request.action == 'destroy') {
                    obj.deleteCallback(request);
                }
            }

        }
    });

我的网格没有填充。什么是没有正确配置。在添加“结果”属性之前,网格工作正常。我想添加自定义分页,所以我在服务层添加了这个属性。代码有什么问题?

1 个答案:

答案 0 :(得分:0)

看起来您要加载的数据现在已嵌套,请尝试更改

root: 'AlbumList'

为:

root: 'GetAlbumResult[0].AlbumList'