Ajax加载JSon数据时数据内中文乱码怎么办

这次给大家带来Ajax加载JSon数据时数据内中文乱码怎么办,解决Ajax加载JSon数据时数据内中文乱码的注意事项有哪些,下面就是实战案例,一起来看一下。

一、问题描述

使用zTree的异步刷新父级菜单时,服务器返回中文乱码,但项目中使用了SpringMvc,已经对中文乱码处理,为什么还会出现呢?

此处为的异步请求的配置:

Java代码 

async: {   enable: true,   url: basePath + '/sysMenu/listSysMenu',   autoParam: ["id=parentId"] }

登录后复制

SpringMvc中文字符处理:

Java代码 

                              application/json;charset=UTF-8       text/html;charset=UTF-8                 

登录后复制

返回的结果有中文乱码:

Js代码 

[   {     "menuId": "880095098165986816",     "menuName": "????",     "parentId": "880095098165986815",     "menuUrl": "http://localhost:8080/imovie-manage/sysMenu/listSysMenuUI",     "menuIcon": "",     "menuSort": 1,     "isEnable": 1,     "parentMenuName": "??",     "id": "880095098165986816",     "name": "????",     "pId": "880095098165986815"   },   {     "menuId": "880095098165986817",     "menuName": "???????",     "parentId": "880095098165986815",     "menuUrl": "http://localhost:8080/imovie-manage/sysMenu/treeSysMenuUI",     "menuIcon": "",     "menuSort": 1,     "isEnable": 1,     "parentMenuName": "??",     "id": "880095098165986817",     "name": "???????",     "pId": "880095098165986815"   } ]

登录后复制

二、解决方案

经过排查,发现是SpringMvc中文字符处理的supportedMediaTypes少了一种类型。

从浏览器发送的请求来看:

异步刷新使用的是post请求,但从服务器返回的时候,Content-Type为:text/plain;charset=ISO-8859-1

charset是ISO-8859-1,而不是UTF-8,而SpringMvc处理的中文乱码没有包含这种类型,所以导致中文乱码。

所以最后的解决方法是在SpringMvc中文处理加上text/plain这个类型,如下:

Java代码

text/plain;charset=UTF-8

登录后复制

 具体如下:

Java代码

        application/json;charset=UTF-8   text/html;charset=UTF-8   text/plain;charset=UTF-8    

登录后复制

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

实现无刷新下拉联动的Ajax+Servlet(附代码)

ajax获取json数据为undefined应该如何使用

以上就是Ajax加载JSon数据时数据内中文乱码怎么办的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2777312.html

(0)
上一篇 2025年3月8日 15:04:09
下一篇 2025年2月26日 15:45:51

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 用Ajax如何验证邮箱、用户名的唯一性

    这次给大家带来用Ajax如何验证邮箱、用户名的唯一性,用Ajax验证邮箱、用户名唯一性的注意事项有哪些,下面就是实战案例,一起来看一下。 废话不多说了,直接给大家贴代码了,具体代码如下所示: $(function () { $(“#txtE…

    编程技术 2025年3月8日
    000
  • 实用:快速定位前端界面交互JS代码

    本次的这篇文章主要是和大家分享了关于快速定位前端界面交互js代码 ,有需要的小伙伴可以看一下 后端同事问到怎么看这块交互的代码。 右键 UI, 检查元素,再右键元素打断点。 Break on: attribute modifications…

    2025年3月8日
    200
  • 基于vue.js和webpack的Chat示例

    本篇文章给大家分享了关于基于vue.js和webpack的chat示例 ,有感兴趣的小伙伴可以看一下这里的内容 todomvc看腻了,周末花时间做了一个基于Vue + Webpack构建的简单chat示例,聊天记录保存在localStorg…

    2025年3月8日
    200
  • vue 2 使用Bus.js实现非父子组件通信

    本篇文章将要和大家分享关于vue 2 使用bus.js实现非父子组件通信的方法,有需要的小伙伴可以参考一下 vue2中废弃了$dispatch和$broadcast广播和分发事件的方法。父子组件中可以用props和$emit()。如何实现非…

    编程技术 2025年3月8日
    200
  • JS实现JAVA的List功能

    本次的文章给大家分享了关于js实现java的list功能的代码,有兴趣的朋友可以看一下 function List(){    var list = new Array();    /* 添加元素 */    this.add = func…

    编程技术 2025年3月8日
    200
  • AJAX如何检测用户名是否具有重复性

    这次给大家带来AJAX如何检测用户名是否具有重复性,AJAX检测用户名是否具有重复性的注意事项有哪些,下面就是实战案例,一起来看一下。 先给大家展示下效果图,然后再给大家撸代码,效果图如下所示: 下面写一个简单的例子,检测用户名是否唯一(直…

    2025年3月8日
    200
  • Ajax局部更新Razor页面的方法详解

    这次给大家带来Ajax局部更新Razor页面的方法详解,Ajax局部更新Razor页面的注意事项有哪些,下面就是实战案例,一起来看一下。 Razor功能非常强大,但是本身并不能做到无刷新,所以需要配合ajax使用 本文就做一个简单例子,实现…

    2025年3月8日 编程技术
    200
  • ajax异步下载文件的实现方法

    这次给大家带来ajax异步下载文件的实现方法,ajax异步下载文件的注意事项有哪些,下面就是实战案例,一起来看一下。 摘要: ajax请求一个二进制流(文件),转换为Blob进行处理或者下载保存文件 需求 管理后台需要随时下载数据报表,数据…

    编程技术 2025年3月8日
    200
  • Ajax怎么实现上传前先预览图片的功能

    这次给大家带来Ajax怎么实现上传前先预览图片的功能,Ajax实现上传前先预览图片功能的注意事项有哪些,下面就是实战案例,一起来看一下。 手头上有几个小项目用到了easyUI,一开始决定使用easyUI就注定了项目整体上前后端分离,基本上所…

    2025年3月8日
    200
  • Javascript实现吸顶特效(代码示例)

    本篇文章给大家带来的内容是javascript实现吸顶特效(代码示例)。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 知识点 1.scroll家族和offset家族的结合运用 2.当nav的offsetTop大于屏幕卷去…

    2025年3月8日
    200

发表回复

登录后才能评论