jQuery发请求传输中文参数乱码问题的解决方案


Posted in jQuery onMay 22, 2018

最近在做的需求,涉及到级联查询,需要根据上级下拉框的内容,查询出下级下拉框列表,因为级联只有两级,且后期对表中的数据几乎不会改动,所以我设计的表存的直接是中文。

菜单如下:

jQuery发请求传输中文参数乱码问题的解决方案

代码如下:

var url = "${basePath}/institutionConfig/getDepartmentByCenter.do?param=" + center;
$.get(url, function (data) {
 var list = data.data;
 for (var i = 0; i < list.length; i++) {
   departmentSelector += "<option value='" + list[i] + "' ";
   if (department && list[i] == department) {
    departmentSelector += "selected='selected'";
   }
   departmentSelector += ">" + list[i] + "</option>";
 }
 $("#accountDepartmentAdd").html(departmentSelector);
});

我用的是$.get(url, callback)向后台发送请求的,由于将参数直接以GET方式发送,所以浏览器对参数用URL编码进行了encode,而后台获取到的参数为:

jQuery发请求传输中文参数乱码问题的解决方案

可以看到,param接收到的是乱码。所以我进行了进一步的处理,即转码:

String center = new String(param.getBytes("iso8859-1"), "utf-8");

这样接收到的就是中文了。

但是这样的做法在测试环境竟然报错了,分析了下原因,发现测试环境接收到的就是正确的中文,转码后反而错了。所以,解决方案应该是改页面的请求。因为使用了GET方式导致的参数被编码了,所以改为POST请求,POST请求会提交原始数据:

var url = "${basePath}/institutionConfig/getDepartmentByCenter.do";
$.ajax({
  url: url,
  data: {"param": center},
  dataType: "json",
  type: "POST",
  success: function (data) {
   var list = data.data;
   for (var i = 0; i < list.length; i++) {
    departmentSelector += "<option value='" + list[i] + "' ";
    if (department && list[i] == department) {
     departmentSelector += "selected='selected'";
    }
    departmentSelector += ">" + list[i] + "</option>";
   }
   $("#accountDepartmentAdd").html(departmentSelector);
  }
 });

总结

以上所述是小编给大家介绍的jQuery发请求传输中文参数乱码问题的解决方案,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

jQuery 相关文章推荐
jQuery返回定位插件详解
May 15 jQuery
jQuery实现html table行Tr的复制、删除、计算功能
Jul 10 jQuery
jQuery EasyUI结合zTree树形结构制作web页面
Sep 01 jQuery
jQuery实现的鼠标滚轮控制图片缩放功能实例
Oct 14 jQuery
springmvc接收jquery提交的数组数据代码分享
Oct 28 jQuery
基于jquery实现左右上下移动效果
May 02 jQuery
layui中使用jquery控制radio选中事件的示例代码
Aug 15 jQuery
Easyui 关闭jquery-easui tab标签页前触发事件的解决方法
Apr 28 jQuery
Vue项目中使用jquery的简单方法
May 16 jQuery
jQuery利用cookie 实现本地收藏功能(不重复无需多次命名)
Nov 07 jQuery
jquery+css3实现的经典弹出层效果示例
May 16 jQuery
jquery插件实现轮播图效果
Oct 19 jQuery
通过jquery toggleClass()属性制作文章段落更改背景颜色
May 21 #jQuery
jQuery获取随机颜色的实例代码
May 21 #jQuery
如何用input标签和jquery实现多图片的上传和回显功能
May 16 #jQuery
jQuery中元素选择器(element)简单用法示例
May 14 #jQuery
jQuery中的类名选择器(.class)用法简单示例
May 14 #jQuery
基于jQuery实现无缝轮播与左右点击效果
May 13 #jQuery
jQuery实现模糊查询的方法分析
May 10 #jQuery
You might like
《心理测量者3》剧场版动画预告
2020/03/02 日漫
php,不用COM,生成excel文件
2006/10/09 PHP
用PHP 快速生成 Flash 动画的方法
2007/03/06 PHP
iis下php mail函数的sendmail配置方法(官方推荐)
2012/04/25 PHP
jquery pagination插件实现无刷新分页代码
2009/10/13 Javascript
json 入门基础教程 推荐
2009/10/31 Javascript
jquery text(),val(),html()方法区别总结
2013/11/04 Javascript
创建、调用JavaScript对象的方法集锦
2014/12/24 Javascript
javascript实现全角与半角字符的转换
2015/01/07 Javascript
jQuery回到顶部的代码
2016/07/09 Javascript
JavaScript探测CSS动画是否已经完成的方法
2016/08/30 Javascript
js生成随机颜色方法代码分享(三种)
2016/12/29 Javascript
Node.js简单入门前传
2017/08/21 Javascript
vue2.0使用swiper组件实现轮播的示例代码
2018/03/03 Javascript
js实现购物车功能
2018/06/12 Javascript
[04:15]DOTA2-DPC中国联赛1月19日Recap集锦
2021/03/11 DOTA
python基于pygame实现响应游戏中事件的方法(附源码)
2015/11/11 Python
Python中使用platform模块获取系统信息的用法教程
2016/07/08 Python
详解python上传文件和字符到PHP服务器
2017/11/24 Python
python中id函数运行方式
2020/07/03 Python
Python3使用tesserocr识别字母数字验证码的实现
2021/01/29 Python
h5实现获取用户地理定位的实例代码
2017/07/17 HTML / CSS
欧洲当代手工玻璃和瓷器的领先品牌:LSA International
2018/06/03 全球购物
Bally澳大利亚官网:瑞士奢侈品牌
2018/11/01 全球购物
Linux如何压缩可执行文件
2014/03/27 面试题
体育课外活动总结
2014/07/08 职场文书
2014年教师节活动总结
2014/08/29 职场文书
党员批评与自我批评范文
2014/09/23 职场文书
党的群众路线教育实践活动党员个人剖析材料
2014/10/08 职场文书
2014年学生会生活部工作总结
2014/11/07 职场文书
升职自荐信怎么写
2015/03/05 职场文书
医务人员岗前培训心得体会
2016/01/08 职场文书
六五普法心得体会2016
2016/01/21 职场文书
golang判断key是否在map中的代码
2021/04/24 Golang
Python数据分析入门之教你怎么搭建环境
2021/05/13 Python
为Centos安装指定版本的Docker
2022/04/01 Servers