Rooock
2009-08-09 17:51 阅读 585

Ext.data.JsonStore在load之后没有数据,但是响应显示有数据...

代码非常简单:
[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就不行了,他们难道不是继承关系么~

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • 已采纳
    iteye_10013 iteye_10013 2009-08-10 08:42

    是继承关系.

    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]

    点赞 评论 复制链接分享
  • zhoujuan520 zhoujuan520 2009-08-09 18:44

    success:true

    点赞 评论 复制链接分享
  • WorkHardbjk WorkHardbjk 2012-06-10 11:40

    我用一般的Store也出现了这类似的问题,response响应里有json,但store的data里却不能成功加载数据。晕头转向,继续解决ing.

    点赞 评论 复制链接分享

相关推荐