EXT的Store返回的数据集,如何转换成JS数组对象?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EXT的Store返回的数据集,如何转换成JS数组对象?相关的知识,希望对你有一定的参考价值。

查出来的格式是这样 [ ]里面是一个个的 和逗号
我要拿一个var arr= [] ; 对象来接收里面的所有数据 要如何做啊 。。。

常规的ExtJS的Store,在new一个Store控件的时候,加上proxy属性,指向URL,在URL里返回特定格式的JSON数据即可。
var store = new Ext.data.Store(
// 获取数据的方式
proxy : new Ext.data.HttpProxy(
url : 'cardSell.ered?reqCode=queryCrdSellList4CX'
),
);
取出Store中的全部数据,再封装成JSON格式,传回后台。(extjs store中数据转换成json)。
主要有以下两种方法:
1、var jsonData = Ext.encode(Ext.pluck(store.data.items, 'data'));
2、var datar = new Array();
var jsonDataEncode = "";
var records = store.getRange();
for (var i = 0; i < records.length; i++)
datar.push(records[i].data);

jsonDataEncode = Ext.util.JSON.encode(datar);
参考技术A newStore = new Ext.data.Store(
……

var arr=new Array();
for(var i=0;i<newStore.getCount();i++)
arr.push(newStore.data.items[i].data);


Ext4.x 测试通过追问

我alert了arr.length 是0 ds.getCount 也是0
但是FF记录了这个store的数据集就是图里那样的 ...

追答

代码截图 我看下

追问





追答

ds.load() 放 var arr=new Array(); 前面

这是哪个版本的ext??

我也好长时间没弄过这了 都差不多了忘了
原因应该就是 ds 没有能正确的解析出返回的数据 你看看相应版本的API 把ds配合适 应该就好了

本回答被提问者采纳
参考技术B 把返回结果转成json对象追问

JSON 对象 ? 额 我的意思是最终我要拿这个arr数组对象直接去用的
我用store.data不行赋值过去不行啊 API不是写着data属性就是数据吗 数组类型的数据

参考技术C 程序文件请设置相关关联是什么意思

EXT.JS的PROXY放在哪里,STORE放在哪里,绝对是个技术活儿啊。

 

我理解的是,单独的STORE,会在应用程序开始时就加载,

而VIEWMODEL的STORE,会在VIEW加载时才开始加载。

PROXY放在STORE,则会在调用这个STORE的VIEW才能请求服务器数据。

如果PROXY放在MODEL时,则凡使用这个MODEL的相关VIEW都可以请求服务器数据,达到重用的目的。

 

技术分享

以上是关于EXT的Store返回的数据集,如何转换成JS数组对象?的主要内容,如果未能解决你的问题,请参考以下文章

请问如何执行Ext JS Store数据源更新

Ext.data.Store详解

C++中,如何讲CHAR数组转换成FLOAT型数据。

C#如何将OBJECT转换成数组

如何 用 js把 数组 转换成 字符串

EXT.JS的PROXY放在哪里,STORE放在哪里,绝对是个技术活儿啊。