form 表单使用.serialize()序列化后会出现中文乱码的问题
原因
.serialize()自动调用了encodeURIComponent方法将数据编码了 
解决方法
调用decodeURIComponent(XXX,true);将数据解码 
例如:

var information=$("#inforForm").serialize(),
  informationDe= decodeURIComponent(information,true), //解码
  informationEn= encodeURI(encodeURI(informationDe)); //再次编码

后台

String paramsTrans = new String(params.getBytes("ISO-8859-1"),"UTF-8");
params = java.net.URLDecoder.decode(paramsTrans , "UTF-8");

页面端发出的数据作两次encodeURI,这个做的好处在于,不管浏览器用户在页面来设置编码,服务器所采用的编码来做一次URLencode转换成UTF-8

.serialize()值转化为json格式

.serialize()序列化之后的传值是

  a=1&b=2&c=3

这种样式,实际使用中还是json比较方便

//转化为json
function strToObj(str){
  str = str.replace(/&/g,"','");
  str = str.replace(/=/g,"':'");
  str = "({'"+str +"'})";
  obj = eval(str);
  return obj;
}

ajax取值后自动赋值给span

function inquireInfor(){
  var information=$("#inforForm").serialize(),
    //解码
    informationDe = decodeURIComponent(information,true),
    informationDeJson=strToObj(informationDe),
     inforSpan=$("#inforDiv span");   var len = inforSpan.size();//获取span标签的个数
  var arr = [];
  var result=eval(informationDeJson);
  for(var index = ; index < len-; index++){//创建一个数字数组
    arr[index] = index;
  }
  $.each(arr, function(i){//循环得到不同的id的值
    var idValue = inforSpan.eq(i).attr("id");
    if(idValue != ''){      
      $('span'+'#'+idValue).html(result[idValue]);  //根据ID从传值的json里面取值   
    }   
  });
}

ajax使用serialize()序列化提交的更多相关文章

  1. jquery $('#form1').serialize()序列化提交表单

    1.$("#form1").serialize() 把form表单的值序列化成一个字符串,如username=admin&password=admin123 <for ...

  2. jQuery ajax中使用serialize()方法提交表单数据示例

    <form id="form"> 输入账号 :<input id="name" type="text" name=&quo ...

  3. JQuery中serialize() 序列化

    更多2014/8/24 来源:jquery学习浏览量:1671 学习标签: serialize 本文导读:在jQuery中,当我们使用ajax时,常常需要拼装input数据以键值对(Key/Value ...

  4. Thinkjs使用ajax实现表单提交

    //前端代码 1 $('form').submit(evt=>{ evt.preventDefault();//阻止表单默认提交 $.ajax({ url: '/user/personal/up ...

  5. jQuery ajax中serialize()方法增加其他参数

    表单提交 使用jQuery.ajax()进行表单提交时,需要传递参数,最直接的方法便是使用Form的serializa()将表单序列化,前提只是将Form表单中的name属性与数据库的字段名保持一致便 ...

  6. JSON格式化与serialize序列化

    一.JSON格式化 1. JSON是什么 JSON是一种数据的存储格式,用来沟通客户端Javascript和服务端PHP的交互.我们把用PHP生成JSON后的字符串传给前台Javascript,Jav ...

  7. ajax的表单提交,与传送数据

    ajax的表单提交 $.ajax ({ url: "<%=basePath%>resource/addPortDetectOne.action", dataType: ...

  8. PHP的serialize序列化数据与JSON格式化数据

    serialize序列化 我们在一些老的WEB系统中可能会看到在数据库或在文本文件中存储着一大串貌似有着特殊含义的字符串文本内容.我们仔细看会发现它具有数据类型和结构等信息,但是它并不容易人工阅读,它 ...

  9. serialize 序列化 +号处理

    少说多做,直接运行代码,代码中有注释: <!DOCTYPE html> <html lang="zh"> <head> <meta cha ...

随机推荐

  1. struts工程建立配置细节

    ActionForm ActionForm是用于存放表单提交的数据. 1.一个action是否必须配置一个actionForm,可以没有2.一个action是否可以配置多个表单?不可以,最多一个 在j ...

  2. jQuery自定义漂亮的下拉框插件8种效果

    jquery美化选择器实例有:边框.下划线. 伸缩 .滑动. 覆盖. 旋转. 弹出层选择 .环形效果. 在线预览 实例代码 <body class="demo-1"> ...

  3. 自动适应iframe右边的高度

    在开发项目过程中,用iframe嵌套,会发现一个问题,用iframe嵌套的html结构右边不会自动适应高度. 这时候找到了一个解决方法: <iframe name="my_iframe ...

  4. css通用小笔记02——浮动、清除(三个例子)

    css中通常会用到浮动与清除,也是一个必须掌握的知识点,概念性的东西不多说,下面举几个例子,来说明它的用法:1.文字环绕效果  2.多个div并排显示 3.清除浮动(默认显示) 一.文字环绕效果: h ...

  5. [deviceone开发]-基础文件管理器

    一.简介 主要实现本地文件管理功能,主要功能为复制.粘贴.剪切目录或者文件. 二.效果 三.相关下载 https://github.com/do-project/code4do/tree/master ...

  6. [javascript svg fill stroke stroke-width x y rect rx ry 属性讲解] svg fill stroke stroke-width rect 绘制具有圆角矩形属性讲解

    <!DOCTYPE html> <html lang='zh-cn'> <head> <title>Insert you title</title ...

  7. 应用代理 socket TCP协议 的资料

    http://blog.csdn.net/guowake/article/details/6615728 Linux下高并发socket最大连接数所受的各种限制 http://stackoverflo ...

  8. .framework使用注意、静态库配置及构架合成

    使用注意: 1.项目中使用的framework中包含了资源文件时,需要手动添加该framework中的资源文件 2.由于动态库(framework默认生成为动态库)不能上架,我们在生成的时候需要修改为 ...

  9. App 即时通讯 SDK

    1.网易云信 http://netease.im/ 2.环信 http://www.easemob.com/customer/im 3.融云 http://www.rongcloud.cn/ 4.极光 ...

  10. OC中.pch文件的解释

      在IOS开发的项目中有一个Prefix.pch,.pch文件是什么?  Prefix.pch:扩展名.pch表示"precompiled header",这是一个你工程要用到的 ...