通过Ajax的post方式前端参数传到后端与URLEncoder与URLDecoder编解码问题
来源:互联网 发布:java微信接口开发实例 编辑:程序博客网 时间:2024/06/04 23:31
Ajax传递大量参数的时候是是以url的形式传递到后端的,即在url后面拼接问号加参数的格式拼成向后端访问的参数。
在把请求参数给ajax之前一般会进行序列化:
例如var param = $('.queryForm').serialize();
然后,在Ajax里data:param,把序列化的参数给ajax拼在url:url后面,组成新的url发送到指定url的后端请求数据。
你在后端要获取里面的带汉字的参数,发现一家被编码成%加上16进制字符串形式了,。
确实,var param = $('.queryForm').serialize();已经把参数里特殊字符按照URLEncoder的方式编码了,
小在后端按照URLDecoder方式解码出你要的参数。
String ss = "su.name=韩庚 su.age=12 su.class=A-*12_\tAA/tAA/nAA\nB&url=su/bol\\sole\\\\my.html?pass=bidd&sid=ui19280989890";
System.out.println(URLEncoder.encode(ss,"utf-8"));
//输出:su.name%3D%E9%9F%A9%E5%BA%9A+su.age%3D12+su.class%3DA-*12_%09AA%2FtAA%2FnAA%0AB%26url%3Dsu%2Fbol%5Csole%5C%5Cmy.html%3Fpass%3Dbidd%26sid%3Dui19280989890
重要说明:URLEncoder.encode(str,"编码"),URLDecoder.decode(str,"编码");
前端encode与后端decode编码一直,才能解析出正常的参数
encode特殊字符串总结对照表:
= 编码后 %3D
(空格)编码后+(加号)
汉字编码后:一串百分号拼上16进制数格式的字符
*(星号)编码后不变
.(点)编码后不变
&编码后%26
/(斜杠)编码后%2F
\(反斜杠)编码后%5C
\t编码后%09
/t编码后不变
/n编码后不变
\n编码后%0A
?编码后%3F
!编码后%21
(编码后%28
)编码后%29
#编码后%23
%编码后%25
注意:区别于经过escape()方法编码:escape()编码空格变成%20
- 通过Ajax的post方式前端参数传到后端与URLEncoder与URLDecoder编解码问题
- UrlEncoder与URLDecoder编码解码
- 使用URLEncoder、URLDecoder进行URL参数的转码与解码
- 使用URLEncoder、URLDecoder进行URL参数的转码与解码
- 使用URLEncoder、URLDecoder进行URL参数的转码与解码 encodeURIComponent编码
- 使用URLEncoder、URLDecoder进行URL参数的转码与解码
- URLEncoder.encode与URLDecoder.docode传递中文参数编码与解码
- URLEncoder与URLDecoder
- URLEncoder与URLDecoder
- java中的URLEncoder和URLDecoder类处理编码与解码问题
- URLEncoder.encode与URLDecoder.docode的使用
- [java] 5、URLEncoder 与 URLDecoder 简单解码编码
- jquery 通过ajax传到前端,前端的处理方式
- URLDecoder.decode与URLEncoder.encode
- [疯狂Java]网络:URL编解码(URLDecoder、URLEncoder)
- URLDecoder解码、URLEncoder编码
- ajax与servlet交互(通过JSON),JAVA的arraylist传到前端的方法
- 视频格式与编解码方式的关系
- 控制框架内部内容跟框架内部控制外部的JS代码
- redis 的简单使用
- java mongoTemplate mongodb中排序问题
- 如何真正是在C#中PictureBox在其他容器中背景透明
- 变换次数
- 通过Ajax的post方式前端参数传到后端与URLEncoder与URLDecoder编解码问题
- 无线路由器的AP、Client、WDS、WISP使用功能图解(清晰明了)
- oracle导入导出dmp文件
- Java——接口
- JAVA匿名内部类
- 前端图像处理指南
- Activity主题设置全部切换动画
- spring message locale
- Suse用zypper安装时设置网易源