EXT HttpProxy和ArrayReader配合无法成功装载数据
时间:2010-10-28
来源:互联网
程序目的:
当载入JS代码时,创建出Lang对象(继承Store),载入数据是通过HttpProxy及ArrayReader对象来加载及解析的,
然后在JS代码中调用Lang.get(id),获取Store中的数据.
其中JS实现代码如下:
JScript code
通过异步调用,JSP返回的内容是:
<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />[['1','aaa'],['2','bbb']]
也试过返回:
[['1','aaa'],['2','bbb']]
以上代码,当我调用var lang = new Lang('lang.jsp');语句时,在回调函数中能正常打印出从JSP返回的数据,但在fireBug中发现,Store对象中的data确无法正确装载,所以通过
lang.get('1')也无法正确获到我想要的数据'aaa'.
请比较了解EXT的帮忙看看上面代码,是哪里出问题了,怎么解决呀
当载入JS代码时,创建出Lang对象(继承Store),载入数据是通过HttpProxy及ArrayReader对象来加载及解析的,
然后在JS代码中调用Lang.get(id),获取Store中的数据.
其中JS实现代码如下:
JScript code
Lang = function(url1){ var httpProxy = new Ext.data.HttpProxy({url:url1}); var arrayReader = new Ext.data.ArrayReader({id:0},[ {name:"ID",mapping:0,type: "string"}, {name:"TEXT",mapping:1,type: "string"} ]); Lang.superclass.constructor.call(this,{ proxy: httpProxy, reader:arrayReader }); this.load( {callback:function(data,option,success){ if(success){ alert(data); } } }); }; Ext.extend(Lang,Ext.data.Store,{ get : function(id){ return this.getById(id).get("TEXT"); } }); var lang = new Lang('lang.jsp');
通过异步调用,JSP返回的内容是:
<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />[['1','aaa'],['2','bbb']]
也试过返回:
[['1','aaa'],['2','bbb']]
以上代码,当我调用var lang = new Lang('lang.jsp');语句时,在回调函数中能正常打印出从JSP返回的数据,但在fireBug中发现,Store对象中的data确无法正确装载,所以通过
lang.get('1')也无法正确获到我想要的数据'aaa'.
请比较了解EXT的帮忙看看上面代码,是哪里出问题了,怎么解决呀
作者: qwerasdf123 发布时间: 2010-10-28
new Ext.data.ArrayReader 这个是加载静态数组 你可以考虑换成jsonreader 或者xml 处理,
没有必要重写 直接用store 或者simplestore 方便处理
没有必要重写 直接用store 或者simplestore 方便处理
作者: leehuat 发布时间: 2010-10-28
看下api 看下reader中的mapping 是什么意思.
作者: asdujiayong 发布时间: 2010-10-28
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28