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 22 jQuery
jQuery Masonry瀑布流布局神器使用详解
May 25 jQuery
基于jQuery的表单填充实例
Aug 22 jQuery
Vue中正确使用jQuery的方法
Oct 30 jQuery
jQuery实现的下雪动画效果示例【附源码下载】
Feb 02 jQuery
jquery 实现拖动文件上传加载进度条功能
Mar 18 jQuery
JS文件中加载jquery.js的实例代码
May 05 jQuery
jQuery.validate.js表单验证插件的使用代码详解
Oct 22 jQuery
jQuery实现的网站banner图片无缝轮播效果完整实例
Jan 28 jQuery
JavaScript表格隔行变色和Tab标签页特效示例【附jQuery版】
Jul 11 jQuery
JQuery使用数组遍历跳出each循环
Sep 01 jQuery
jQuery冲突问题解决方法
Jan 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生成EXCEL的东东
2006/10/09 PHP
PHP 地址栏信息的获取代码
2009/01/07 PHP
PHP聚合式迭代器接口IteratorAggregate用法分析
2017/12/28 PHP
Javascript条件判断使用小技巧总结
2008/09/08 Javascript
关于jquery css的使用介绍
2013/04/18 Javascript
js 三级关联菜单效果实例
2013/08/13 Javascript
js onload事件不起作用示例分析
2013/10/09 Javascript
深入理解javascript中defer的作用
2013/12/11 Javascript
javascript浏览器窗口之间传递数据的方法
2015/01/20 Javascript
javascript实现简单的on事件绑定
2016/08/23 Javascript
nodejs和C语言插入mysql数据库乱码问题的解决方法
2017/04/14 NodeJs
AngularJS改变元素显示状态
2017/04/20 Javascript
vue.js+element-ui动态配置菜单的实例
2018/09/07 Javascript
在vue中使用vue-echarts-v3的实例代码
2018/09/13 Javascript
webpack之引入图片的实现及问题
2018/10/08 Javascript
angularJS1 url中携带参数的获取方法
2018/10/09 Javascript
Typescript的三种运行方式(小结)
2019/09/18 Javascript
js实现扫雷源代码
2020/11/27 Javascript
python笔记(1) 关于我们应不应该继续学习python
2012/10/24 Python
Python基于smtplib实现异步发送邮件服务
2015/05/28 Python
python查找指定具有相同内容文件的方法
2015/06/28 Python
Phantomjs抓取渲染JS后的网页(Python代码)
2016/05/13 Python
Python基于win32ui模块创建弹出式菜单示例
2018/05/09 Python
Python实现基于PIL和tesseract的验证码识别功能示例
2018/07/11 Python
使用Python监视指定目录下文件变更的方法
2018/10/15 Python
Python3.4学习笔记之常用操作符,条件分支和循环用法示例
2019/03/01 Python
python爬虫 爬取超清壁纸代码实例
2019/08/16 Python
解决Pycharm的项目目录突然消失的问题
2020/01/20 Python
使用html5 canvas创建太空游戏的示例
2014/05/08 HTML / CSS
Hotels.com香港酒店网:你的自由行酒店订房专家
2018/01/22 全球购物
经济管理专业毕业生推荐信
2013/11/11 职场文书
共筑中国梦演讲稿
2014/04/23 职场文书
企业党员岗位承诺书
2015/04/27 职场文书
上班旷工检讨书
2015/08/15 职场文书
python基础之爬虫入门
2021/05/10 Python
如何在Python项目中引入日志
2021/05/31 Python