我正在尝试将一些简单的数据放入JsonStore,但它似乎不起作用。代码几乎与示例相同:
var itemListStore = new Ext.data.JsonStore({
url: '/items/list',
root: 'items',
fields: [
{name: 'id', type: 'string'},
{name: 'name', type: 'string'},
]
});
itemListStore.load();
...
items: [
{
xtype: 'listview',
store: itemListStore,
columnResize: false,
flex: 1,
columns: [
{header: 'ID', dataIndex: 'id'},
{header: 'Name', dataIndex: 'name'},
]
}
...
不幸的是,这不起作用。该表加载时没有行,商店的计数为68(由服务器返回,通过listview.getStore().getCount()
获得)。如果我用一个ArrayStore和一些静态数据替换JsonStore,我可以看到它们。
/items/list
的结果只是:
{"items":
[{"id": "a", "name": "Some name"},
{"id": "b", "name": "Some other name"}]
}
我该如何解决这个问题?我该怎么调试呢?
编辑:更新了有关记录计数的信息
答案 0 :(得分:2)
你可以尝试这样的商店:
store: objPlanManagerStore = new Ext.data.Store({
autoLoad: true,
proxy: new Ext.data.HttpProxy({
url: '/your/url',
method: 'POST'
}),
reader: new Ext.data.JsonReader({
root: 'plans',
id: 'id',
fields: ['id', 'name', 'descr', 'tname', 'type', 'recurring']
}),
listeners: {
loadexception: function() {
Ext.Msg.alert('Title', 'msg');
}
}
});
(刚从我的一些代码粘贴)
编辑:考虑一下,商店似乎不是问题。