1

我尝试使用来自与包含 ExtJs 代码的 Javascript 文件位于同一域中的 JSON 文件中的数据来实现网格面板。我正在使用 ExtJs 3.4。

网格显示,但其中没有任何数据。Firebug 显示一条错误消息,告诉我 JSON 文件的第一行有错误(“格式不正确”)。我已经验证了 JSON 文件,一切正常。

这是我的代码:

Ext.onReady(function () {
    var myStore = new Ext.data.JsonStore({
        url: 'data.json',
        root: 'rows',
        autoLoad: true,
        fields: [{
            name: 'person',
            type: 'string'
        }, {
            name: 'product',
            type: 'string'
        }]
    });

    var grid = new Ext.grid.GridPanel({
        id: 'gridPanel',
        title: 'Grid example',
        width: 250,
        height: 250,
        renderTo: 'grid-example',
        store: myStore,
        columns: [{
            header: 'Person',
            dataIndex: 'person'
        }, {
            header: 'Product',
            dataIndex: 'product'
        }]
    });
});

我的 JSON 数据是:

{
    "rows": [{
        "person": "Jamie Avins",
        "product": "Ladder"
    }, {
        "person": "Ed Spencer",
        "product": "Spanner"
    }]
}

你有什么想法吗?有人可以给我一些提示吗?

提前致谢!

塞哈

4

2 回答 2

1

利用:

reader: {
    type: 'json',
    root: 'rows'
}

在您的JsonStore并验证您的 json 响应。

希望它对你有用。

于 2013-02-18T18:43:51.763 回答
0

我测试了您的代码以及从您的示例中剪切和粘贴的确切 JSON 字符串。使用 Grails 返回字符串(不是从文件中读取)工作得很好。Firebug 没有抱怨。看起来文件本身可能是问题所在,也许一个隐藏的角色正在潜入。

于 2011-11-14T20:06:49.250 回答