ExtJS JsonStore not populating
本文关键字:populating not JsonStore ExtJS | 更新日期: 2023-09-27 17:51:20
我的JsonStore似乎没有填充。当我运行代码时,它会触发请求,并返回json。当我检查数据存储时,数据数组为空。
我错过了什么?谢谢。
我有这个JsonStore定义:
CCList.ListStore = new Ext.data.JsonStore({
root: 'rows',
idProperty: 'Id',
fields: ['Id', 'Description'],
autoLoad: true,
proxy: new Ext.data.HttpProxy({
method: 'GET',
url: '/costcenters/getjson'
}),
listeners: {
load: function (obj, records) {
Ext.each(records, function (rec) {
console.log(rec.get('Id'));
});
}
}
});
尝试将其绑定到Ext.List
CCList.listPanel = new Ext.List({
id: 'indexList',
store: CCList.ListStore,
itemTpl: '<div class="costcenter">{Id}-{Description}</div>'
}
});
我的url返回这个json:
{ "rows" : [
{ "Description" : "Jason",
"Id" : "100"
},
{ "Description" : "Andrew",
"Id" : "200"
}
] }
仅供参考,您不是在使用ExtJS,而是在使用Sencha Touch,它们是不同的,所以您将来澄清这一点很重要。
Ext.setup({
onReady: function(){
Ext.regModel('CostCenter', {
idProperty: 'Id',
fields: ['Id', 'Description']
});
var store = new Ext.data.Store({
model: 'CostCenter',
autoLoad: true,
proxy: {
type: 'ajax',
method: 'GET',
url: 'data.json',
reader: {
type: 'json',
root: 'rows'
}
},
listeners: {
load: function(obj, records){
Ext.each(records, function(rec){
console.log(rec.get('Id'));
});
}
}
});
new Ext.List({
fullscreen: true,
store: store,
itemTpl: '<div class="costcenter">{Id}-{Description}</div>'
});
}
});