jquery序列化form表单使用ajax提交后处理返回的json数据


Posted in Javascript onMarch 03, 2014

1、返回json字符串:

/** 将一个字符串输出到浏览器 */

    protected void writeJson(String json) {

        PrintWriter pw = null;

        try {

            servletResponse.setContentType("text/plain;charset=UTF-8");

            pw = servletResponse.getWriter();

            pw.write(json);

            pw.flush();

            pw.close();

        } catch (IOException e) {

            e.printStackTrace();

        } finally {

            if (pw != null) {

                pw.close();

            }

        }

    }

2、通过eval将返回的json字符串转换成json对象:

$.ajax({

        data:{

            "shipmmsi":shipmmsi,

            "shipname":shipname

        },

        url : "shipbk/findShipMMSIAndName.do",

        async : true,

        type : "POST",

        success : function(data) {

            var ships = eval('(' + data + ')');

            $("#bindShipmmsiDiv table tbody").html("");

            if(ships!=null){

                if(ships.length){

                    $("#bindShipmmsiDiv").show();

                    var trs="";

                    for(var i=0;i<ships.length;i++){

                        trs+="<tr><td>"+ships[i].mmsi+"</td><td>"+ships[i].vesselName+"</td></tr>";

                    }

                    $("#bindShipmmsiDiv table tbody").append(trs);

                    //给tr注册点击事件

                    $("#bindShipmmsiDiv table tbody tr").click(function(){

                        $(this).addClass('select_tr').siblings().removeClass('select_tr');

                    });

                    $("#bindShipmmsiDiv table tbody tr").dblclick(function(){

                        fillShipMMSIAndName(this);

                        $("#bindShipmmsiDiv").hide();

                    });

                }

            }

        }

    });

3、通过jquery的 $("form").serialize() 可以将form表单的数据序列化后提交到后台,因此通过ajax可以操作form表单并处理返回的数据。

$.ajax({
url : 'deliveryWarrant/update.do',

data : $('#myform').serialize(),

type : "POST",

success : function(data) {


var res = eval('(' + data + ')');


if (res && res.success == true) {    



alert(res.message);


location.href="/godownWarrant/findToDeliveryWarrant.do?godownWarrant.code="+$("#myform input[name=godownWarrant\\.code]").val();


} else {



alert(res.message);


}

}

});

4、防止乱码的处理方法:

jsp页面:charset:utf-8
servlet:utf-8
filter:utf-8
在PrintWriter out = response.getWriter()之前加一句
response.setCharacterEncoding("UTF-8")就可以解决乱码的问题。
但是得记住一定要放在声明PrintWwrite之前。

总之,前台界面,java文件,数据库和数据库的连接都有采用统一编码,才不会出现乱码等情况

Javascript 相关文章推荐
autoPlay 基于jquery的图片自动播放效果
Dec 07 Javascript
JavaScript 更严格的相等 [译]
Sep 20 Javascript
jQuery中after的两种用法实例
Jul 03 Javascript
重写document.write实现无阻塞加载js广告(补充)
Dec 12 Javascript
jQuery构造函数init参数分析
May 13 Javascript
javascript html5 canvas实现可拖动省份的中国地图
Mar 11 Javascript
jQuery插件FusionCharts绘制的2D帕累托图效果示例【附demo源码】
Mar 28 jQuery
微信小程序开发之实现自定义Toast弹框
Jun 08 Javascript
深入浅出webpack教程系列_安装与基本打包用法和命令参数详解
Sep 10 Javascript
vue页面跳转后返回原页面初始位置方法
Feb 11 Javascript
JavaScript&quot;模拟事件&quot;的注意要点详解
Feb 13 Javascript
JS实现可用滑块滑动的缓动图代码
Sep 01 Javascript
js函数在frame中的相互调用详解
Mar 03 #Javascript
window.onload追加函数使用示例
Mar 03 #Javascript
js this函数调用无需再次抓获id,name或标签名
Mar 03 #Javascript
解决Jquery鼠标经过不停滑动的问题
Mar 03 #Javascript
jquery的父子兄弟节点查找示例代码
Mar 03 #Javascript
js二维数组定义和初始化的三种方法总结
Mar 03 #Javascript
JS二维数组的定义说明
Mar 03 #Javascript
You might like
php计算两个整数的最大公约数常用算法小结
2015/03/05 PHP
PHP ajax 异步执行不等待执行结果的处理方法
2015/05/27 PHP
YII2 实现多语言配置的方法分享
2017/01/11 PHP
php实现微信小程序授权登录功能(实现流程)
2019/11/13 PHP
jQuery学习7 操作JavaScript对象和集合的函数
2010/02/07 Javascript
JS继承--原型链继承和类式继承
2013/04/08 Javascript
用jQuery实现一些导航条切换,显示隐藏的实例代码
2013/06/08 Javascript
iframe窗口高度自适应的实现方法
2014/01/08 Javascript
js使用eval解析json实例与注意事项分享
2014/01/18 Javascript
jQuery实现的输入框选择时间插件用法实例
2015/02/28 Javascript
jQuery使用hide方法隐藏页面上指定元素的方法
2015/03/30 Javascript
BootStrap表单宽度设置方法
2017/03/10 Javascript
Angular.js中$resource高大上的数据交互详解
2017/07/30 Javascript
vue2.0 常用的 UI 库实例讲解
2017/12/12 Javascript
详解Vue单元测试Karma+Mocha学习笔记
2018/01/31 Javascript
JavaScript键盘事件常见用法实例分析
2019/01/03 Javascript
解决layui中onchange失效以及form动态渲染失效的问题
2019/09/27 Javascript
小程序如何自主实现拦截器的示例代码
2019/11/04 Javascript
Python多线程threading和multiprocessing模块实例解析
2018/01/29 Python
python 读取目录下csv文件并绘制曲线v111的方法
2018/07/06 Python
Python中的支持向量机SVM的使用(附实例代码)
2019/06/26 Python
Jupyter安装链接aconda实现过程图解
2020/11/02 Python
SteelSeries赛睿官网:游戏外设和配件的领先制造商(耳机、键盘、鼠标和鼠标垫)
2018/06/17 全球购物
美国农场商店:Blain’s Farm & Fleet
2020/01/17 全球购物
师范生个人推荐信
2013/11/29 职场文书
教师实习自我鉴定
2013/12/13 职场文书
哈理工毕业生的求职信
2013/12/22 职场文书
日本语毕业生自荐信
2014/02/01 职场文书
2014元旦晚会策划方案
2014/02/19 职场文书
欢度春节标语
2014/07/01 职场文书
个人贷款授权委托书样本
2014/10/07 职场文书
先进个人事迹材料
2014/12/29 职场文书
2015年班组工作总结
2015/04/20 职场文书
2019 入党申请书范文
2019/07/10 职场文书
十大最强格斗系宝可梦,超梦X仅排第十,第二最重格斗礼仪
2022/03/18 日漫
我去timi了,一起去timi是什么意思?
2022/04/13 杂记