ZTree async中文乱码,ZTree reAsyncChildNodes中文乱码,zTree中文乱码
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
©Copyright 蕃薯耀 2017年7月27日
http://fanshuyao.iteye.com/
一、问题描述
使用zTree的异步刷新父级菜单时,服务器返回中文乱码,但项目中使用了SpringMvc,已经对中文乱码处理,为什么还会出现呢?
此处为的异步请求的配置:
async: { enable: true, url: basePath + '/sysMenu/listSysMenu', autoParam: ["id=parentId"] }
SpringMvc中文字符处理:
<mvc:annotation-driven> <mvc:message-converters> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>application/json;charset=UTF-8</value> <value>text/html;charset=UTF-8</value> </list> </property> </bean> </mvc:message-converters> </mvc:annotation-driven>
返回的结果有中文乱码:
[ { "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这个类型,如下:
<value>text/plain;charset=UTF-8</value>
具体如下:
<property name="supportedMediaTypes"> <list> <value>application/json;charset=UTF-8</value> <value>text/html;charset=UTF-8</value> <value>text/plain;charset=UTF-8</value> </list> </property>
然后问题就这样解决了。^_^
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
©Copyright 蕃薯耀 2017年7月27日
http://fanshuyao.iteye.com/
相关推荐
- `reAsyncChildNodes()`:重新异步加载子节点数据。 - `refresh()`:刷新整个树结构。 - `getTreeObj()`:获取zTree的实例对象。 **zTree配置选项** zTree的配置项非常丰富,包括但不限于: - `data`:用于...
在zTree的中文API文档中,我们可以找到关于这个插件的所有关键信息,包括配置参数、方法、事件以及数据模型等。这份API文档通常以.chm(Compiled Help Manual)格式提供,这是一种微软开发的帮助文件格式,便于用户...
zTree是一款广泛应用于Web开发中的JavaScript插件,主要用于构建可交互的树形结构展示,如组织结构、文件目录等。其强大的功能、易用性和高度的定制性使其在IT行业中备受青睐。本压缩包“zTree_v3”包含了zTree的...
async: { enable: true, url: "getData.json", type: "post" }, data: { simpleData: { enable: true } }, callback: { onClick: function(event, treeId, treeNode) { console.log("节点被点击:", ...
- 对于大数据量的树,zTree_v3支持异步加载,通过`async`配置项设置,当节点展开时动态请求子节点数据。 - 节点的动态更新则可以通过`updateNode()`或`removeNode()`方法实现,修改或删除指定节点。 6. **自定义...
**zTree 使用说明** zTree 是一款非常流行的 jQuery 插件,主要用于构建可交互的树形数据结构。它在Web应用中广泛应用于目录展示、权限管理、文件系统等场景,以其丰富的功能、良好的性能和易用性受到开发者的喜爱...
6. **性能优化**:当数据量较大时,考虑使用异步加载(`async`配置)以提高页面加载速度,只在需要时加载子节点。此外,合理设置`keep.parent`和`check.chkboxType`属性可以避免不必要的全选/全不选问题。 7. **...
《zTree v2.6 API 中文文档详解》 zTree是一款广泛应用于Web开发中的JavaScript树形插件,尤其在数据展示、文件管理等领域有着显著的应用。本文将围绕zTree v2.6的API,结合CHM和PDF两种格式的中文文档,详细解读其...
- `treeObj.reAsyncChildNodes()`: 异步刷新子节点。 - `treeObj.updateNode()`: 更新节点数据。 ### 四、完整示例 以下是一个包含数据加载、节点操作、事件监听的完整 ZTree 示例: ```html <!DOCTYPE html> ...
zTree是一款广泛应用于Web开发中的JavaScript树形菜单插件,其最新版本为zTree_v3.5.17。这个插件以其强大的功能、灵活的配置选项和良好的用户体验深受开发者喜爱。在本压缩包中,你将获得zTree的核心源码,以便于你...
ZTree是一款基于JavaScript的树形插件,广泛应用于网站的目录结构展示、权限管理等场景。ZTree的一个显著特性是支持异步加载,这意味着它可以在用户需要时按需加载子节点,减少了初次加载时的数据量,提高了页面响应...
- **async** - `asyncUrl`:异步加载数据的URL。 - `asyncParam`:发送请求时携带的参数。 - `asyncParamOther`:额外的异步参数。 - `isSimpleData`:是否使用简单数据模式。 - `rootPID`:根节点的父ID。 - ...
2. **reAsyncChildNodes**: 异步重新加载指定节点的子节点,适用于动态更新数据。 3. **refresh**: 刷新整个树或者指定节点,更新显示状态。 4. **selectNode**: 选中指定节点,同时可以设置是否触发选择事件。 5...
**jQuery ZTree 异步动态加载详解** 在Web开发中,数据展示往往涉及到大量信息的处理,特别是树形结构的数据。jQuery ZTree是一款强大的JavaScript组件,用于构建具有丰富交互效果的树状菜单或树形控件。在面对大...
异步加载(Async Loading)是zTree的核心特性之一,它能够显著提高用户体验,特别是在处理大量数据时。当用户展开节点时,zTree仅会请求并加载当前需要的数据,而不是一次性加载所有数据,这大大减少了页面加载时间...
- 在处理大量节点时,为了提高性能,避免一次性加载所有数据,可以采用异步加载(async)方式,只加载可视区域内的节点,当需要时再动态加载其他节点。 6. **异常处理**: - 在进行节点移动操作时,应考虑可能...
zTree提供了丰富的API接口,如`treeObj.reAsyncChildNodes`用于异步加载子节点,`treeObj.selectNode`用于选中节点等。例如,以下代码展示了如何初始化一个简单的zTree: ```html $(function() { var setting = {...
zTree支持异步加载数据,通过`async`配置项设定,可以设置加载的URL和请求参数,以及加载成功和失败的回调函数。 6. **视图操作** - `refresh()`: 刷新树视图,通常在数据更新后调用。 - `reAsyncChildNodes()`:...
zTree的配置参数多样,包括但不限于`setting`、`data`、`async`等,如`view`用于设置视图样式,`data`用于定义数据模型,`check`用于复选框功能,`callback`用于定义事件回调函数等。 7. **zTree的拓展与优化** ...
zTree_v3-3.5.28版本提供了中文说明文档,帮助开发者快速理解和掌握插件使用。文档详细介绍了每个配置项、API及事件的用法,是学习和使用zTree的重要参考资料。 综上所述,zTree_v3-3.5.28插件是一个强大的树形结构...