ajax提交java后台接收参数出现乱码
Posted 青 • 原木
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax提交java后台接收参数出现乱码相关的知识,希望对你有一定的参考价值。
1.现象:
前台ajax提交查询数据
$.ajax({ url: ‘bdmap/xx.action‘, data:para, dataType:‘json‘, contentType:"application/x-www-form-urlencoded", success: function(data){ if(data.success){ callback(data.data); } }})
- Request URL:http://localhost:8083/bdmap/xx.action?name=%E9%80%9F%E5%BA%A6
- Request Method:GET
解决:这个ajax提交,默认以GET方法提交,提交前默认使用utf8编码格式进行编码,然后tomcat 应用服务器对url解码,默认使用ISO-8859-1格式解码,这时如果url中出现中文字符,编码和解码格式不对应就会出现乱码。
解决方法一:修改tomcat配置文件server.xml中对url解码的格式,对Connector标签设置URIEncoding="UTF-8",有两处需要修改。
<Connector port="8083" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/>
<Connector port="8039" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8"/>
解决方法二:前端使用post方法提交数据,ajax使用 type:‘POST’ 。
以上是关于ajax提交java后台接收参数出现乱码的主要内容,如果未能解决你的问题,请参考以下文章