跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

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

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 trs+=""+ships[i].mmsi+""+ships[i].vesselName+"";}$("#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、防止乱码的处理方法:

基于jQuery的AJAX和JSON的实例 中文WORD版本文档主要讲述的是基于jQuery的AJAX和JSON的实例;过jQuery内置的AJAX功能,直接访问后台获得JSON格式的数据,然后通过jQuer把数据绑定到事先设计好的html模板上,直接在页面上显示。有需要的朋友可以下载看看下载jsp页面:charset:utf-8 servlet:utf-8 filter:utf-8在PrintWriter out = response.getWriter()之前加一句response.setCharacterEncoding("UTF-8")就可以解决乱码的问题。

但是得记住一定要放在声明PrintWwrite之前。

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

相关文章