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把获取到的input值转换成json
May 15 jQuery
详谈表单格式化插件jquery.serializeJSON
Jun 23 jQuery
jQuery实现一个简单的验证码功能
Jun 26 jQuery
基于jQuery实现的单行公告活动轮播效果
Aug 23 jQuery
jQuery中each方法的使用详解
Mar 18 jQuery
使用jquery Ajax实现上传附件功能
Oct 23 jQuery
jQuery+Datatables实现表格批量删除功能【推荐】
Oct 24 jQuery
jQuery实现的模仿雨滴下落动画效果
Dec 11 jQuery
jQuery实现的老虎机跑动效果示例
Dec 29 jQuery
jQuery Raty星级评分插件使用方法实例分析
Nov 25 jQuery
jquery简易手风琴插件的封装
Oct 13 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
php访问查询mysql数据的三种方法
2006/10/09 PHP
IIS下配置Php+Mysql+zend的图文教程
2006/12/08 PHP
php使用MySQL保存session会话的方法
2015/06/18 PHP
PHP 断点续传实例详解
2017/11/11 PHP
Knockoutjs的环境搭建教程
2012/11/26 Javascript
JavaScript实现x秒后自动跳转到一个页面
2013/01/03 Javascript
jquery网页元素拖拽插件效果及实现
2013/08/05 Javascript
javascript实现的弹出层背景置灰-模拟(easyui dialog)
2013/12/27 Javascript
javascript中的nextSibling使用陷(da)阱(keng)
2014/05/05 Javascript
JavaScript原生对象之Number对象的属性和方法详解
2015/03/13 Javascript
浅析js中substring和substr的方法
2015/11/09 Javascript
jQuery添加删除DOM元素方法详解
2016/01/18 Javascript
在js中实现邮箱格式的验证方法(推荐)
2016/10/24 Javascript
解决在Bootstrap模糊框中使用WebUploader的问题
2018/03/22 Javascript
node打造微信个人号机器人的方法示例
2018/04/26 Javascript
利用jsonp解决js读取本地json跨域的问题
2018/12/11 Javascript
vue input输入框关键字筛选检索列表数据展示
2020/10/26 Javascript
JS获取当前时间戳方法解析
2020/08/29 Javascript
[42:39]老党炸弹人试玩视频
2014/09/03 DOTA
Python中Class类用法实例分析
2015/11/12 Python
Python 实现数据库(SQL)更新脚本的生成方法
2017/07/09 Python
Python selenium抓取微博内容的示例代码
2018/05/17 Python
通过python实现随机交换礼物程序详解
2019/07/10 Python
python中zip()函数遍历多个列表方法
2021/02/18 Python
美国唇部护理专家:Sara Happ
2019/06/19 全球购物
如何找出EMP表里面SALARY第N高的employee
2013/12/05 面试题
幼儿教师思想汇报
2014/01/10 职场文书
办公室文员工作职责
2014/01/31 职场文书
给学校的建议书
2014/03/12 职场文书
学员自我鉴定
2014/03/19 职场文书
银行服务明星推荐材料
2014/05/29 职场文书
报名委托书
2015/01/29 职场文书
文艺演出主持词
2015/07/01 职场文书
Python实现8种常用抽样方法
2021/06/27 Python
关于Python OS模块常用文件/目录函数详解
2021/07/01 Python
搭建zabbix监控以及邮件报警的超级详细教学
2022/07/15 Servers