javascript
ajax传输json数据格式乱码_解决Ajax加载JSon数据中文乱码问题
一、問題描述
使用zTree的異步刷新父級(jí)菜單時(shí),服務(wù)器返回中文亂碼,但項(xiàng)目中使用了SpringMvc,已經(jīng)對(duì)中文亂碼處理,為什么還會(huì)出現(xiàn)呢?
此處為的異步請(qǐng)求的配置:
Java代碼
async: {
enable: true,
url: basePath + '/sysMenu/listSysMenu',
autoParam: ["id=parentId"]
}
SpringMvc中文字符處理:
Java代碼
application/json;charset=UTF-8
text/html;charset=UTF-8
返回的結(jié)果有中文亂碼:
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"
}
]
二、解決方案
經(jīng)過排查,發(fā)現(xiàn)是SpringMvc中文字符處理的supportedMediaTypes少了一種類型。
從瀏覽器發(fā)送的請(qǐng)求來看:
異步刷新使用的是post請(qǐng)求,但從服務(wù)器返回的時(shí)候,Content-Type為:text/plain;charset=ISO-8859-1
charset是ISO-8859-1,而不是UTF-8,而SpringMvc處理的中文亂碼沒有包含這種類型,所以導(dǎo)致中文亂碼。
所以最后的解決方法是在SpringMvc中文處理加上text/plain這個(gè)類型,如下:
Java代碼
text/plain;charset=UTF-8
具體如下:
Java代碼
application/json;charset=UTF-8
text/html;charset=UTF-8
text/plain;charset=UTF-8
總結(jié)
以上所述是小編給大家介紹的解決Ajax加載JSon數(shù)據(jù)中文亂碼問題,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
總結(jié)
以上是生活随笔為你收集整理的ajax传输json数据格式乱码_解决Ajax加载JSon数据中文乱码问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux中Shell的算数运算符和位运
- 下一篇: js css自动幻灯片切换,非常漂亮的J