亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

解決Ajax加載JSon數(shù)據(jù)中文亂碼問題

 更新時間:2017年10月23日 14:44:27   作者:凡塵煉心  
這篇文章主要介紹了解決Ajax加載JSon數(shù)據(jù)中文亂碼問題,需要的朋友可以參考下

一、問題描述

使用zTree的異步刷新父級菜單時,服務(wù)器返回中文亂碼,但項目中使用了SpringMvc,已經(jīng)對中文亂碼處理,為什么還會出現(xiàn)呢?

此處為的異步請求的配置:

Java代碼 

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

SpringMvc中文字符處理:

Java代碼 

<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> 

返回的結(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ā)送的請求來看:

異步刷新使用的是post請求,但從服務(wù)器返回的時候,Content-Type為:text/plain;charset=ISO-8859-1

charset是ISO-8859-1,而不是UTF-8,而SpringMvc處理的中文亂碼沒有包含這種類型,所以導致中文亂碼。

所以最后的解決方法是在SpringMvc中文處理加上text/plain這個類型,如下:

Java代碼

<value>text/plain;charset=UTF-8</value> 

 具體如下:

Java代碼

<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> 

總結(jié)

以上所述是小編給大家介紹的解決Ajax加載JSon數(shù)據(jù)中文亂碼問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評論