从ExtJs中的json文件获取并显示数据

从ExtJs中的json文件获取并显示数据,json,extjs,Json,Extjs,我是ExtJs的初学者,我正在尝试从json文件获取和显示数据 我为此使用的代码: Ext.onReady(function () { Ext.define('User', { extend: 'Ext.data.Model', fields: ['id', 'name', 'email'] }); var store = new Ext.data.Store({ model: 'User', proxy: { t

我是ExtJs的初学者,我正在尝试从json文件获取和显示数据

我为此使用的代码:

Ext.onReady(function () {
Ext.define('User', {
        extend: 'Ext.data.Model',
        fields: ['id', 'name', 'email']
    });

    var store = new Ext.data.Store({
    model: 'User',
    proxy: {
        type: 'ajax',
        url : 'example.json',
        reader: {
            type: 'json'
        }
    },
    listeners: {
        load: function() {
            records = store.getRange()
            test = records[0].get('id')
            alert(test)
        }
    },
    autoLoad:true
});
});
以下是json文件:

[
    {
        "id": 1,
        "name": "Ed Spencer",
        "email": "ed@sencha.com"
    },
    {
        "id": 2,
        "name": "Abe Elias",
        "email": "abe@sencha.com"
    }
]

问题是它没有在警报中显示任何数据。请帮我整理一下。提前谢谢。

您正在提醒商店本身。这是一个管理数据而不是数据本身的对象

尝试:

将以数组形式获取存储中的所有记录。
我更喜欢
console.log
而不是
alert
,因为您可以更好地检查数据

编辑 嘿,我看到您通过提供的答案越来越接近您的解决方案。
您必须知道,
警报
会破坏代码链。因此,除非您放弃警报,否则它将停止执行代码

要回答第二个问题,您可以这样做,在
字符串中显示所需的结果

var records = store.getRange();
alert( JSON.stringify(records) );

您应该在应用商店中使用以下配置 自动加载:正确

示例代码

Ext.define("Demo.store.Users",{
extend: "Ext.data.Store",
model: "Demo.model.User",
proxy: {

        type: 'ajax',
        url: 'users-browse-remote.php',
        reader: {
             type    : 'json',
             root: 'Users'
         },


 },
autoLoad: true

}))

我在哪里可以使用这个控制台以及它如何显示数据?在浏览器的开发者控制台中,按F12键查看它。这在控制台中显示空白数组,我希望它出现在网页上,而不是控制台中。@Ravneet更新了我的答案。我希望这符合你的需要。我已经更新了代码。它只显示一个值,但我想以数组的形式显示所有数据。
Ext.define("Demo.store.Users",{
extend: "Ext.data.Store",
model: "Demo.model.User",
proxy: {

        type: 'ajax',
        url: 'users-browse-remote.php',
        reader: {
             type    : 'json',
             root: 'Users'
         },


 },
autoLoad: true