代码非常简单:
[code="java"]
Ext.onReady(function(){
var store = new Ext.data.JsonStore({
proxy:new Ext.data.HttpProxy({url:'comment!getCommentList.action'}),
baseParams:{'topicId':'package_2=2-1-1'},
reader:new Ext.data.JsonReader({
totalProperty: "totalCount",
root: "commentList",
id: "ID"},
[{name: 'topicId', mapping: 'TOPIC_ID'}]
)
});
store.load();
alert(store.getAt(0));
});
[/code]
alert的时候是没有数据的.
但是我用findbugs却发现响应是我想要的:
[img]/upload/attachment/133887/4492ce95-8b97-301d-9065-c1db4e1804eb.jpg[/img]
响应中的数据,我怎么load不到呢??为什么?
补充,生产响应大概是这样:
[{
totalCount:1,
commentList:
[{
USER_ID:001,
CONTENT:我是ADMIN,我最大,
USER_NAME:Admin,
ID:19,
TOPIC_ID:package_2=2-1-1,
TOPIC_NAME:AABBCC
}]
}]
[b]问题补充:[/b]
//----------------------------------------------------
提示,我把JsonStore改成Store就好了..
晕了~
还有,返回的数据格式是
{
total:100,
root:
[{...},{...},...{}]
}
形式的.
我的json格式也不对.
就准备结帖了.
哪为大大能告诉我下.为什么Store可以,JsonStore就不行了,他们难道不是继承关系么~
是继承关系.
JsonStore其实就是JsonReader+Store
是你JsonStore的定义格式出问题了.
[code="javascript"]
Ext.onReady(function(){
var store = new Ext.data.JsonStore({
url:'comment!getCommentList.action,
baseParams:{'topicId':'package_2=2-1-1'},
totalProperty: "total",
root: "root",
id: "ID",
fields:[
{name: 'topicId', mapping: 'TOPIC_ID'},'ID'
]
});
store.load();
//另外,上面的load是异步操作,你下面直接alert是得不到的,你应该监听load事件
alert(store.getAt(0));
});
[/code]
success:true
我用一般的Store也出现了这类似的问题,response响应里有json,但store的data里却不能成功加载数据。晕头转向,继续解决ing.