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中的deferred对象和extend方法详解
May 08 jQuery
简单实现jQuery手风琴效果
Aug 18 jQuery
jquery实现回车键触发事件(实例讲解)
Nov 21 jQuery
jQuery实现模糊查询的方法分析
May 10 jQuery
深入浅析angular和vue还有jquery的区别
Aug 13 jQuery
jQuery实现图片简单轮播功能示例
Aug 13 jQuery
jQuery实现的点击图片居中放大缩小功能示例
Jan 16 jQuery
jquery操作select常见方法大全【7种情况】
May 28 jQuery
JavaScript实现的弹出遮罩层特效经典示例【基于jQuery】
Jul 10 jQuery
jQuery实现的图片点击放大缩小功能案例
Jan 02 jQuery
jQuery实现移动端下拉展现新的内容回弹动画
Jun 24 jQuery
jQuery实现滑动开关效果
Aug 02 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
PHP4与PHP3中一个不兼容问题的解决方法
2006/10/09 PHP
PHP 页面跳转到另一个页面的多种方法方法总结
2009/07/07 PHP
PHP 读取文本文件内容并分页显示
2016/01/02 PHP
PHP统计目录中文件以及目录中目录大小的方法
2016/01/09 PHP
PHP PDOStatement::errorInfo讲解
2019/01/31 PHP
javascript基于jQuery的表格悬停变色/恢复,表格点击变色/恢复,点击行选Checkbox
2008/08/05 Javascript
javascript将数组插入到另一个数组中的代码
2013/01/10 Javascript
asp.net中System.Timers.Timer的使用方法
2013/03/20 Javascript
文本框(input)获取焦点(onfocus)时样式改变的示例代码
2014/01/10 Javascript
chrome不支持form.submit的解决方案
2015/04/28 Javascript
Js和JQuery获取鼠标指针坐标的实现代码分享
2015/05/25 Javascript
用NODE.JS中的流编写工具是要注意的事项
2016/03/01 Javascript
jQuery中事件与动画的总结分享
2016/05/24 Javascript
jQuery插件FusionCharts实现的Marimekko图效果示例【附demo源码】
2017/03/24 jQuery
微信小程序 刷新上拉下拉不会断详细介绍
2017/05/11 Javascript
JavaScript方法_动力节点Java学院整理
2017/06/28 Javascript
JavaScript动态检测密码强度原理及实现方法详解
2019/06/11 Javascript
微信小程序wx.navigateTo方法里的events参数使用详情及场景
2020/01/07 Javascript
JS Html转义和反转义(html编码和解码)的实现与使用方法总结
2020/03/10 Javascript
在Python的web框架中编写创建日志的程序的教程
2015/04/30 Python
python表格存取的方法
2018/03/07 Python
pyqt5中QThread在使用时出现重复emit的实例
2019/06/21 Python
python中for循环把字符串或者字典添加到列表的方法
2019/07/20 Python
Pytorch之保存读取模型实例
2019/12/30 Python
Python 解决火狐浏览器不弹出下载框直接下载的问题
2020/03/09 Python
CSS3 简写animation
2012/05/10 HTML / CSS
Css3新特性应用之视觉效果实例
2016/12/12 HTML / CSS
如何实现一个自定义类的序列化
2012/05/22 面试题
关于廉洁的广播稿
2014/01/30 职场文书
《新型玻璃》教学反思
2014/04/13 职场文书
法人代表任命书范本
2014/06/05 职场文书
优秀毕业生的求职信
2014/07/21 职场文书
安全责任书怎么写
2014/07/28 职场文书
内勤岗位职责范本
2015/04/13 职场文书
教你怎么用Python实现GIF动图的提取及合成
2021/06/15 Python
eclipse创建项目没有dynamic web的解决方法
2021/06/24 Java/Android