Ajax JSON 中文乱码 List转JSON,JSON转String

我在使用级联下拉框的时候用到Ajax技术向后台请求子框的信息。但是出现了中文乱码的问题,我尝试了3种方法,发现了一条做最好的解决方法。

思路:

1.在前台获取父框的ID,通过ajax提交到后台

2.后台根据父框ID获取子框List集合

3.将List集合转换成JSON格式

4.将JSON格式转换为字符串(String)格式,并输入到response的write里

5.在前台获取字符串,在转换成JSON格式,并通过js打印输出

后台Controller

@RequestMapping("getSonBoard")@ResponseBodypublic void getSonBoard(int id, HttpServletResponse response){//处理乱码问题response.setCharacterEncoding("UTF-8");response.setContentType("text/html;charset=UTF-8");List<Sonboard> sonboards=boardService.getSonBoardsByFaterBoardId(id);//JSON包使用org.json.*;JSONArray jsonArray=new JSONArray();//将LIST集合转换为json格式for(Sonboard board:sonboards){JSONObject object=new JSONObject();object.put("id",board.getSonboardId());object.put("name",board.getBoardName());jsonArray.put(object);}try {//将json的字符串形式写进response里response.getWriter().print(jsonArray.toString());} catch (IOException e) {e.printStackTrace();}}

前台

<tr><td style="width: 20%; height: 40px; background-color: #E5F4FB;">选择版块</td><td style="width: 80%; height: 40px;text-align:left;"><div class="form-group"><!-- 循环遍历下拉框 --><select class="form-control" id="fatherboard"style="width:300px;float:left; "><option value="0" selected="selected">-选择大板块-</option><c:forEach items="${boards}" var="board"><option value="${board.boardId}"> ${board.boardName} </option></c:forEach></select><select class="form-control" id="sonboard" name="boardid" style="width:200px; float:left; "><option value="">-选择小板块-</option></select><span style="color:red;">请选择所要发帖的版块</span></div></td></tr>
<script type="text/javascript">$(document).ready(function() {//change用于截获下拉框的状态变化$("#fatherboard").on('change', function() {//获取父框的选择值var id = $(this).val();$.ajax({type : "post",url : "getSonBoard", //需要用来处理ajax请求的action,findson为方法名,board是namespacedata : {//设置数据源id : $(this).val()},scriptCharset: 'utf-8',success : function(data) {//var json= JSON.stringify(data);json = eval("(" + data + ")"); //将数据转换成json类型,可以把data用alert()输出出来看看到底是什么样的结构//清空子下拉框$('#sonboard').empty();//循环变量子下拉框for (var i = 0; i < json.length; i++) {var s = json[i];$('#sonboard').append("<option value=" + s.id + ">" + s.name + "</option>");}},error : function(data) {alert("系统异常,请稍后重试!"+data);} //这里不要加","});});});

效果

Ajax JSON 中文乱码相关推荐

  1. php ajax传值中文乱码问题,PHP Ajax JSON中文乱码各种问题解决办法

    //gbk编码 $gbk = '中文'; echo json_encode($gbk);//null 原因:因为json_encode只支持utf-8的编码,对于英文没有什么影响,但是对于中文就会有问 ...

  2. struts2 ajax json 中文乱码的问题

    为什么80%的码农都做不了架构师?>>>    后台向前台传输乱码问题 解决办法: HttpServletResponse response=ServletActionContext ...

  3. js php 中文乱码怎么解决_探讨PHP JSON中文乱码的解决方法详解

    我们知道在使用Ajax技术与PHP后台交互时,中文乱码是常有的事,JSON作为与XML类似的数据交换格式,在PHP用来进行交互时也会出现中 文乱码的情况,解决PHP JSON中文乱码的方法思路其实与P ...

  4. ajax数据传送中文乱码,springmvc 发送ajax出现中文乱码的解决方法汇总

    使用spingmvc,在JS里面通过ajax发送请求,并返回json格式的数据,从数据库拿出来是正确的中文格式,展示在页面上就是错误的??,研究了一下,有几种解决办法. 我使用的是sping-web- ...

  5. PHP JSON中文乱码解决方法大全

    我们知道在使用Ajax技术与PHP后台交互时,中文乱码是常有的事,JSON作为与XML类似的数据交换格式,在PHP用来进行交互时也会出现中文乱码的情况,解决PHP JSON中文乱码的方法思路其实与PH ...

  6. 解决PHP中JSON中文乱码的几种方法

    在开发过程中,我们知道在使用Ajax技术与PHP后台交互时,中文乱码是常有的事,JSON作为与XML类似的数据交换格式,在PHP用来进行交互时也会出现中文乱码的情况,解决PHP JSON中文乱码的方法 ...

  7. php 对象json中文乱码,解决php json中文乱码问题

    php json中文乱码的解决办法:首先将类中的中文字段进行url编码:然后再将对象进行json编码:最后进行url解码即可解决乱码问题. PHP中json中文乱码问题解决 问题: 众所周知使用jso ...

  8. springMvc解决json中文乱码

    springMvc解决json中文乱码 springMvc解决json中文乱码,springMvc中文乱码,spring中文乱码 >>>>>>>>> ...

  9. 解决@ResponseBody注解返回的json中文乱码问题

    解决@ResponseBody注解返回的json中文乱码问题 参考文章: (1)解决@ResponseBody注解返回的json中文乱码问题 (2)https://www.cnblogs.com/hu ...

最新文章

  1. oracle散列,在Python中散列一个整数,以匹配Oracle的标准_散列
  2. 如何正确的选择适合自己的WEB报表工具
  3. sign python_python机器学习
  4. cocos2d-x2.2九宫格CCScale9Sprite有bug
  5. sql计算留存_SQL无所不能:DBA宝妈宝爸系列分享
  6. [渝粤教育] 西南科技大学 西方经济学 在线考试复习资料(1)
  7. Ajax初探(2)——Javascript
  8. SPSS Statistics 24 软件安装教程
  9. 使用DebenuPDFLibrary导出微信中的照片
  10. 每日英语--Week6
  11. 解决CentOS小数字键盘失效,按NumLock无效的方法
  12. Fortify 5.1漏洞整改方案
  13. dbf解析_DBF文件格式分析.doc
  14. MATLAB删除图例中的多余线条
  15. 威斯康星大学硕士计算机科学,威斯康星大学麦迪逊分校计算机科学理学硕士研究生申请要求及申请材料要求清单...
  16. TestFlight APP测试(IOS如何让上架前给其他人测试)
  17. 力扣417题太平洋大西洋水流问题
  18. 昭阳E47G开机问题
  19. C++中的谓词(一元谓词 二元谓词)
  20. uni-app 实现拨打电话功能(android)

热门文章

  1. 华为离职副总裁给任正非的辞职信【受益很多】
  2. 樱花树盛开的季节,我用简单的C代码绘制了一棵樱花树向她表白~『C/C++图形库EasyX』
  3. 神经网络如何识别图像,神经网络图像识别原理
  4. Pycharm2019.2.3专业版配置
  5. 预告!奎特尔数字大冒险
  6. 7家名企与达内联姻 招聘285个定制软件人才岗位
  7. su必备插件_su有哪些好用的插件?
  8. LabVIEW串口通讯(数字传送)
  9. X射线电子能谱原理及软件图谱处理
  10. 我和王争学设计模式 |单例模式