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 相关文章推荐
JavaScript Event学习第八章 事件的顺序
Feb 07 Javascript
jQuery页面滚动浮动层智能定位实例代码
Aug 23 Javascript
js模拟淘宝网的多级选择菜单实现方法
Aug 18 Javascript
手机端图片缩放旋转全屏查看PhotoSwipe.js插件实现
Aug 25 Javascript
Javascript 两种刷新方法以及区别和适用范围
Jan 17 Javascript
JS常用倒计时代码实例总结
Feb 07 Javascript
深入理解angular2启动项目步骤
Jul 15 Javascript
Web开发使用Angular实现用户密码强度判别的方法
Sep 27 Javascript
jQuery实现文件编码成base64并通过AJAX上传的方法
Apr 12 jQuery
JS实现数组的增删改查操作示例
Aug 29 Javascript
微信小程序 子级页面返回父级并把子级参数带回父级实现方法
Aug 22 Javascript
解决vue项目获取dom元素宽高总是不准确问题
Jul 29 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的类树(支持无限分类)
2006/10/09 PHP
PHP array操作10个小技巧分享
2011/06/23 PHP
laravel 执行迁移回滚示例
2019/10/23 PHP
javascript入门基础之私有变量
2010/02/23 Javascript
火狐textarea输入法的bug的触发及解决
2013/07/24 Javascript
jquery中one()方法的用法实例
2015/01/16 Javascript
JavaScript判断前缀、后缀是否是空格的方法
2015/04/15 Javascript
使用jspdf生成pdf报表
2015/07/03 Javascript
PageSwitch插件实现100种不同图片切换效果
2015/07/28 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(基于jquery)
2015/11/18 Javascript
Angularjs在初始化未完毕时出现闪烁问题的解决方法分析
2016/08/05 Javascript
JavaScript toUpperCase()方法使用详解
2016/08/26 Javascript
JavaScript基本语法_动力节点Java学院整理
2017/06/26 Javascript
详解Vue 中 extend 、component 、mixins 、extends 的区别
2017/12/20 Javascript
JS获取浏览器地址栏的多个参数值的任意值实例代码
2018/07/24 Javascript
[01:00:14]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第三场
2018/04/10 DOTA
python显示生日是星期几的方法
2015/05/27 Python
Python中使用插入排序算法的简单分析与代码示例
2016/05/04 Python
Python的标准模块包json详解
2017/03/13 Python
python实现在cmd窗口显示彩色文字
2019/06/24 Python
python re.sub()替换正则的匹配内容方法
2019/07/22 Python
超实用的 30 段 Python 案例
2019/10/10 Python
Tensorflow训练模型越来越慢的2种解决方案
2020/02/07 Python
PyQt5 界面显示无响应的实现
2020/03/26 Python
css3旋转木马_动力节点Java学院整理
2017/07/12 HTML / CSS
html5定位并在百度地图上显示的示例
2014/04/27 HTML / CSS
One.com挪威:北欧成长最快的网络托管公司
2016/11/19 全球购物
澳大利亚领先的运动鞋商店:Hype DC
2018/03/31 全球购物
教师评优的个人自我评价分享
2013/09/19 职场文书
小学生开学感言
2014/02/28 职场文书
验房委托书
2014/08/30 职场文书
产品委托授权书范本
2014/09/16 职场文书
个人四风问题对照检查材料思想汇报
2014/10/06 职场文书
表扬稿范文
2015/01/17 职场文书
html2 canvas svg不能识别的解决方案
2021/06/03 HTML / CSS
Python Django ORM连表正反操作技巧
2021/06/13 Python