博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
EXT--表单AJax提交后台,返回前端数据格式的转换
阅读量:6575 次
发布时间:2019-06-24

本文共 2696 字,大约阅读时间需要 8 分钟。

前言:

前端发送请求至服务端(Java),得到的数据是Java语言对象所表现的形式,经常需要转换为JSON格式的字符串写出至前端;当前端获取后也往往需要将字符串转换为js的对象。本文描述了在EXT作为前端框架,表单异步提交的情景下这些数据格式处理。当然,此类的格式转换方法有多种,本文仅描述其中一种而已。

说明:EXT版本:3.4

 

示例:

服务端相关代码

//创建SubTreeVo集合                    List
treeVos = new ArrayList
(); if( topleveldomianList != null && !topleveldomianList.isEmpty() ) { Iterator
it = topleveldomianList.keySet().iterator(); while ( it.hasNext() ) { Ttopleveldomian key = it.next(); SubTreeVo vo = new SubTreeVo(); vo.setId(key.getiDomainId());//域名id vo.setName(key.getsDomainName());//域名 vo.setUrl(key.getsDomainUrl());//域名地址 vo.setUri(topleveldomianList.get(key));//域名uri treeVos.add(vo); } } try {
jsonStr = JSONUtil.serialize(treeVos); } catch (JSONException e) { } }//写出 out.write("{success:true,info:'上传成功',dataJson:'"+jsonStr+"'}"); //...

小结:JSONUtil为org.apache.struts2.json包下的一个类--需导struts2-json-plugin-2.3.15.1.jar,其serialize方法就是将Object转换为JSON字符串。

 

前端相关代码

importform.getForm().submit({                            url : '/uploadFileWhiteName.do?action=channelDomainImport&channelId='+channelId,//调用的url资源                            method : 'POST',//获取请求URL的HTTP                            waitTitle : '请稍后',//在调用一个action的处理过程中调用的Ext.MessageBoxwait显示的标题                            waitMsg : '系统正在处理 ...',//在调用一个action的处理过程中调用的Ext.MessageBoxwait显示的内容                            /**                             * 当接收到一个有效的成功返回的数据包的时候调用的回调函数。                             * @form Ext.form.BasicForm 做出请求动作的表单                             * @action Ext.form.Action The Action class.                              */                            success : function(form, action) {                                //获取服务器返回的数据--JSON字符串                                var str = action.response.responseText;                                //将JSON字符串解析成对象                                var msg = Ext.util.JSON.decode(str);                                //将JSON字符串解析为对象  (注:用Ext.util.JSON.decode也可以)                                var jsObject = eval(msg.dataJson);                                 //...

小结:将JSON字符串转换为js对象有两种方式:一是用EXT的工具包的JSON类,其decode方法可将JSON字符串转换为js对象;二是调用javascript的eval方法,可将JSON字符串转换为js对象。不过调用eval方法需注意的是:如果为单对象,则需写成eval("("+data+")");的形式,具体参见我的另一篇博客:。

 

转载地址:http://crrjo.baihongyu.com/

你可能感兴趣的文章
LeetCode - 16. 3Sum Closest
查看>>
LeetCode - 7. Reverse Integer
查看>>
MFC下运行控制台不显示黑屏
查看>>
算法练习——聪明的情侣
查看>>
Java多线程系列 面试题
查看>>
AOP jdk动态代理
查看>>
windows常用操作
查看>>
NYOJ-85 有趣的数 AC 分类: NYOJ ...
查看>>
(一)linux下hadoop安装配置
查看>>
Google七项不得不知的搜索技巧
查看>>
FireFox不支持InnerText的解决方法
查看>>
jsp打印
查看>>
从类开始
查看>>
iOS中真机连接电脑运行程序出现问题
查看>>
java安卓如何实现定义接口
查看>>
Union大小
查看>>
南邮CTF--bypass again
查看>>
函数的渐近增长
查看>>
动态参数
查看>>
FirewallD常用命令及设置
查看>>