Rooock 2009-08-09 17:51
浏览 656
已采纳

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 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]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器