Extjs 4.1 - 如何在存储中嵌入从服务器发送的数据

Posted

技术标签:

【中文标题】Extjs 4.1 - 如何在存储中嵌入从服务器发送的数据【英文标题】:Extjs 4.1 - How to get embed data inside store that sent from server 【发布时间】:2013-08-05 19:01:11 【问题描述】:

我有一个网格面板,我想获取我嵌入存储中的数据 我的 json 看起来像(embed 是我的嵌入数据)

("total":"20","results":[...], "embed": [...] )

如何在我的load 函数中获取embed 数据。谢谢

var store = Ext.create('Ext.data.Store', 
     model: 'MyDataObject',
     autoLoad: true,
     pageSize:10,
     proxy: 
          type: 'ajax',
          url: 'data.php',
          reader: 
              type: 'json',
              totalProperty: 'total', // total data
              root: 'results'                       
          
    
    ,listeners: 
          load: function( store, records, successful, eOpts )
               if (successful) 
                    alert(store.embed) // ?? how to get it      
               
          
    
);

【问题讨论】:

"store.data.embed" 会给你一个嵌入数据的对象 @Daemon 在未定义的情况下不起作用? 【参考方案1】:

代理保留对rawData 属性的引用以获取最近的加载。

console.log(store.getProxy().getReader().rawData.embed);

【讨论】:

以上是关于Extjs 4.1 - 如何在存储中嵌入从服务器发送的数据的主要内容,如果未能解决你的问题,请参考以下文章

ExtJS 4.1 中的分页问题

Extjs 4.1 - 如何将侦听器从对象 A 复制到对象 B

Extjs 4.1 提交表单 - 如何在 xtype: displayfield 中获取值

如何将复杂的参数发送到 asp.net

Extjs 4.1 - 如何将数据从商店加载到另一个商店

如何在extjs 4.1中的treePanel中移动节点标签的复选框结尾