真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

jquery中ajax返回值為中文亂碼的解決方法

這篇文章給大家分享的是有關(guān)jquery中ajax返回值為中文亂碼的解決方法的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

創(chuàng)新互聯(lián)公司從2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都網(wǎng)站制作、網(wǎng)站建設(shè)網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元峰峰礦做網(wǎng)站,已為上家服務(wù),為峰峰礦各地企業(yè)和個人服務(wù),聯(lián)系電話:18982081108

jquery的ajax返回值為中文亂碼的解決辦法:1、【PrintWriter out = response.getWriter()】放在相關(guān)正確代碼后面;2、jquery加【content-type】的參數(shù)。

jquery的ajax返回值為中文亂碼的解決辦法:

用jquery的ajax,遇到個問題,服務(wù)器端從數(shù)據(jù)庫取到的數(shù)據(jù)沒有出現(xiàn)中文亂碼問題(日志打出來是沒有亂碼的),但是異步傳到客戶的時候卻出現(xiàn)了亂碼。 服務(wù)器端已經(jīng)編碼過了(UTF-8編碼)。開始一直懷疑是客戶端的問題,比如客戶端和服務(wù)器端編碼不一致啊,也懷疑是不是JQuery的AJAX工具函數(shù)中少配了 contentType: "application/x-www-form-urlencoded; charset=utf-8",   等等問題。

結(jié)果都不是,糾結(jié)了幾個小時,后來發(fā)現(xiàn),原來代碼還是出在服務(wù)器端,疏忽了。

服務(wù)器端代碼:

/**
* 異步(返回json數(shù)據(jù)格式)(支持分頁)
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws AppException
*/
public ActionForward queryErrorCodeRecordByPage(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
Integer currentpage = Integer.parseInt(request.getParameter("currentpage")) ;
Integer pagesize = Integer.parseInt(request.getParameter("pagesize")) ;
try 
{
List ListByPage = this.errorCodeRecordFacade.queryErrorCodeRecordByPage(currentpage, pagesize);
JSONArray json = JSONArray.fromObject(ListByPage);
System.out.println("JSONArray數(shù)據(jù)---" + json.toString() );
request.setCharacterEncoding("utf-8");  //這里不設(shè)置編碼會有亂碼
        response.setContentType("text/html;charset=utf-8");
        response.setHeader("Cache-Control", "no-cache");  
PrintWriter out = response.getWriter();  //輸出中文,這一句一定要放到response.setContentType("text/html;charset=utf-8"),  response.setHeader("Cache-Control", "no-cache")后面,否則中文返回到頁面是亂碼  
out.print(json.toString());
out.flush();
out.close();
} 
catch (Exception e) {
log.error("查詢數(shù)據(jù)出錯", e);
}
return null ;
}

客戶端的代碼:

//異步 根據(jù)分頁來取錯誤碼歷史 數(shù)據(jù)
function search_errorCodeRecord(currentpage,pagesize)
  {
       $.ajax({
          async :true,
  url: "<%=request.getContextPath()%>/errorCodeRecord/queryErrorCodeRecordByPage.do",
  type: "post",
  data: { currentpage: currentpage, pagesize:pagesize},  
//  dataType : "json", //這里已經(jīng)定義數(shù)據(jù)格式
      contentType: "application/x-www-form-urlencoded; charset=utf-8", 
  success:function(data) {
          alert(data);
  //  var json=eval('('+data+')');   // jquery調(diào)用時會檢測到,從而直接把返回格式當(dāng)做json處理,所以再轉(zhuǎn)化會報錯。
    var json=eval(data);
   resolv_json(json) ;
   }
});
     }
 
 
 //解析json數(shù)組,動態(tài)拼接到白色Div中
 function resolv_json(json)
 {
    for(var i=0;i

");       var span1=$("");       var span2=$("");       var span3=$("");       var span4=$("");              var times = json[i].operate_time.time;     //  alert(json[i].operate_time.time); //時間格式是個JSON對象 //  alert(getLocalTime(times));       span1.html(getLocalTime(times));       span2.html(json[i].operate_people);       span3.html(operate_state);       span4.html(json[i].businessname +" 錯誤碼");              p.append(span1).append(span2).append(span3).append(span4);       $("#whiteDiv").append(p);     }    }   //時間戳轉(zhuǎn)化為時間 function getLocalTime(nS) {     return new Date(parseInt(nS)).toLocaleString().replace(/:\d{1,2}$/,' '); }      

總結(jié)如下:

1.  PrintWriter out = response.getWriter(); 一定要放在

request.setCharacterEncoding("utf-8");  response.setContentType("text/html;charset=utf-8");

編碼的后面(原因很簡單,你懂的。)

2.  jquery 加不加 content-type的參數(shù) 都不影響。

contentType: "application/x-www-form-urlencoded; charset=utf-8",

感謝各位的閱讀!關(guān)于“jquery中ajax返回值為中文亂碼的解決方法”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!


分享文章:jquery中ajax返回值為中文亂碼的解決方法
新聞來源:http://weahome.cn/article/iiiojg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部