从ExtJs中的json文件获取并显示数据
我是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
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