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 20 jQuery
深入理解jquery的$.extend()、$.fn和$.fn.extend()
Jul 08 jQuery
JQuery用$.ajax或$.getJSON跨域获取JSON数据的实现代码
Sep 23 jQuery
jQuery实现ajax回调函数带入参数的方法示例
Jun 26 jQuery
jQuery中常用动画效果函数知识点整理
Aug 19 jQuery
基于jQuery ztree实现表格风格的树状结构
Aug 31 jQuery
jQuery实现基本隐藏与显示效果的方法详解
Sep 05 jQuery
JQuery样式操作、click事件以及索引值-选项卡应用示例
May 14 jQuery
通过jQuery学习js类型判断的技巧
May 27 jQuery
jQuery实现视频展示效果
May 30 jQuery
jQuery实现简单评论功能
Aug 19 jQuery
基于jQuery拖拽事件的封装
Nov 29 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
php date与gmdate的获取日期的区别
2010/02/08 PHP
php上传excel表格并获取数据
2017/04/27 PHP
PHP simplexml_load_string()函数实例讲解
2019/02/03 PHP
laravel使用数据库测试注意事项
2020/04/10 PHP
jQuery的attr与prop使用介绍
2013/10/10 Javascript
探讨JavaScript中声明全局变量三种方式的异同
2013/12/03 Javascript
纯JS实现根据CSS的class选择DOM
2014/03/22 Javascript
jquery text()方法取标签中的文本
2014/07/25 Javascript
Vue 进阶教程之v-model详解
2017/05/06 Javascript
浅谈vue后台管理系统权限控制思考与实践
2018/12/19 Javascript
详解Webpack4多页应用打包方案
2020/07/16 Javascript
微信小程序自定义modal弹窗组件的方法详解
2020/12/20 Javascript
[15:15]教你分分钟做大人:狙击手
2014/10/30 DOTA
python模块简介之有序字典(OrderedDict)
2016/12/01 Python
Python中矩阵创建和矩阵运算方法
2018/08/04 Python
Python实现带参数的用户验证功能装饰器示例
2018/12/14 Python
Python3.5基础之变量、数据结构、条件和循环语句、break与continue语句实例详解
2019/04/26 Python
python画图的函数用法以及技巧
2019/06/28 Python
用python给自己做一款小说阅读器过程详解
2019/07/11 Python
Python3 使用map()批量的转换数据类型,如str转float的实现
2019/11/29 Python
python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警
2021/01/30 Python
纯CSS3实现滚动的齿轮动画效果
2014/06/05 HTML / CSS
使用CSS变量实现炫酷惊人的悬浮效果
2019/04/26 HTML / CSS
美国在线家装零售商:Build.com
2016/09/02 全球购物
美国新兴城市生活方式零售商:VILLA
2017/12/06 全球购物
欧洲顶级体育电子商务网站:SportsShoes.com
2018/03/27 全球购物
Europcar比利时:租车
2019/08/26 全球购物
手机促销活动方案
2014/02/05 职场文书
全国优秀教师事迹材料
2014/08/26 职场文书
2014年前台接待工作总结
2014/12/05 职场文书
旅游项目合作意向书
2015/05/08 职场文书
2015年乡镇科普工作总结
2015/05/13 职场文书
工作调动申请报告
2015/05/18 职场文书
先进基层党组织事迹材料2016
2016/02/29 职场文书
python基础之停用词过滤详解
2021/04/21 Python
JavaWeb实现显示mysql数据库数据
2022/03/19 Java/Android