前言:

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

说明:EXT版本:3.4

示例:

服务端相关代码

                    //创建SubTreeVo集合List<SubTreeVo> treeVos = new ArrayList<SubTreeVo>();if( topleveldomianList != null && !topleveldomianList.isEmpty() ) {Iterator<Ttopleveldomian> it = topleveldomianList.keySet().iterator();while ( it.hasNext() ) {Ttopleveldomian key = it.next();SubTreeVo vo = new SubTreeVo();vo.setId(key.getiDomainId());//域名idvo.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的HTTPwaitTitle : '请稍后',//在调用一个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+")");的形式,具体参见我的另一篇博客:js--eval函数。

EXT--表单AJax提交后台,返回前端数据格式的转换相关推荐

  1. 使用jquery.form.js提交表单并获取后台返回值

    使用jquery.form.js提交表单并获取后台返回值,会把所有有name属性的值提交到后台 1.前台js代码 //使用jquery.form.js提交表单并获取后台返回值,会把所有有name属性的 ...

  2. .form文件_含文件上传的form表单AJAX提交小结

    最近在学习PHP时,遇到不知道如何含文件上传的form表单AJAX提交,现在把这些记录下来以备自己后续复习时用: HTML代码 *姓名: *性别: {eq name='list.sex' value= ...

  3. $.ajaxSubmit form表单ajax提交

    Form表单ajax提交 <style>#agreementSub{margin-top: 20px;display: block;width: 100px;height: 40px;te ...

  4. 表单ajax提交插件,jQuery Form 表单提交插件-----ajaxSubmit() 的应用

    Form Plugin API 里提供了很多有用的方法可以让你轻松的处理表单里的数据和表单的提交过程. 测试环境:部署到Tomcat中的web项目. 一.ajaxSubmit() 介绍 立即通过AJA ...

  5. layui form表单ajax提交

    <form class="layui-form" method="post" action=""><div class=& ...

  6. form表单AJAX提交

    参考文章: http://blog.csdn.net/qq_28877125/article/details/75907422 http://blog.csdn.net/it_cookie_sam/a ...

  7. ajax提交成功清空表单,Ajax提交数据后,清空form表单

    按钮不同,页面相同,还需要显示的数据不同,这里会由于页面的缓存问题,导致,每次点开这个页面显示的数据相同. 这不是我们想要的.这就需要清楚表单数据了. 如下: $('#myform')[0].rese ...

  8. TP5搭配layui2.x的form表单ajax提交

    一般情况下,form表单提交是很难搭配ajax提交,同时ajax提示返回信息的,一般的用法是 前端是用的form表单提交 后端代码 返回提示 直接的$this->success或者$this-& ...

  9. 表单ajax提交插件,详解javascript表单的Ajax提交插件的使用

    Ajax 提交插件 form.js 插件有两个核心方法:ajaxForm()和ajaxSubmit(),它们集合了从控制表单元素到决定如何管理提交进行的功能. //ajaxForm 提交方式 $('# ...

最新文章

  1. 二叉树的深度优先搜索c语言,C语言 二叉树按层打印、深度优先遍历、二叉树是否对称...
  2. 【CoppeliaSim】远程 API 之 Python 控制,对比 V-rep 有些不同
  3. python股票数据预处理_Python股票处理之六_数据预处理A
  4. K8S控制器类型:RC/RS、Deployment、DaemonSet、Job和CronJob、StatefulSet、HPA
  5. 网站总结 和 相关控件 总结
  6. VS2017调试闪退之Chrome
  7. Android 弹出有确认按键的对话
  8. css里slidebottom,jquery - 从CSS“top”到“bottom”的jQuery动画 - 堆栈内存溢出
  9. 《Cocos2D-x权威指南》——3.7 容器类
  10. 微服务之间的调用方式RestTemplate和FeignClient
  11. mysql命令 -a_mysql常用命令
  12. c语言编程GetTickCount,c语言计算时间方法---clock-GetTickCount-QueryPerformanceCounter
  13. Overloud TH3 for Mac(电吉他效果器)
  14. 央行发布2020年规章制定计划 涉及个人金融信息保护、征信业务
  15. 基于图像传感器的可见光通信的优缺点分析
  16. git和github使用
  17. python怎么转义_python怎么转义
  18. Java Lambda分组求和
  19. TP5查询构造器查询语句select、find、colum、value详解
  20. mysql-ACID

热门文章

  1. IE8/9的几个前端bug解决方案
  2. 解决ajax异步请求数据后swiper不能循环轮播(loop失效)问题、滑动后不能轮播的问题。
  3. Java程序如何获得自己的进程ID?
  4. 18100出多少取整_一级注册消防考试难点解析,沥青厂房需要多少个水流指示器及追问...
  5. ros之旋转加平移公式
  6. linux上mysql定时备份数据库数据_Linux下如何实现MySQL数据库每天定时自动备份
  7. paramiko模块_玩转网络自动化之Netmiko模块
  8. uniapp前端处理接口返回一整个html格式
  9. 洛谷——P1980 [NOIP2013 普及组] 计数问题
  10. 洛谷——P1319 压缩技术