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

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条)

报告相同问题?

悬赏问题

  • ¥20 materialstudio计算氢键脚本问题
  • ¥15 配置FPT报错,该如何处理
  • ¥15 请大家看一下这个代码咋写,一点思路都没有,最好能做一下,不要伪代码,有偿
  • ¥15 有偿请人帮写个安卓系统下禁止装软件及禁止拷入文件的程序
  • ¥100 用 H.265 对音视频硬编码 (CUDA)
  • ¥20 mpich安装完成后出问题
  • ¥15 stm32循迹小车代码问题
  • ¥15 输入一堆单词,使其去重输出
  • ¥15 qc代码,修改和添加东西
  • ¥50 Unity的粒子系统使用shadergraph(内置管线)制作的一个顶点偏移shader,但是粒子模型移动时,顶点也会偏移