码迷,mamicode.com
首页 > 编程语言 > 详细

ajax提交java后台接收参数出现乱码

时间:2017-07-31 13:24:49      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:name   应用   服务器   java   配置文件   map   protoc   1.3   utf-8   

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);
                                 
                  }
       }})
  1. Request URL:http://localhost:8083/bdmap/xx.action?name=%E9%80%9F%E5%BA%A6
  2. 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后台接收参数出现乱码

标签:name   应用   服务器   java   配置文件   map   protoc   1.3   utf-8   

原文地址:http://www.cnblogs.com/xiaozhuyuan/p/7262517.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!