jquery的ajax()函數傳值中文亂碼的解決方案

$.ajax({ 
    dataType : ‘json’,type : ‘POST’,url : ‘http://localhost/test/test.do’,data : {id: 1, type: ‘商品’} ,success : function(data){ ……}
} );jquery

問題:
  提交後後臺action程序時,取到的type是亂碼
  解決方法:
  方法一:提交前採用encodeURI兩次編碼,記住必定是兩次
  1.修改如下代碼
  data:{id:1, type:encodeURI(encodeURI(‘商品’))}ajax

  2.在後臺action裏要對取得的字符串進行decodejson


  一、String type = request.getParameter(「type」);app

  二、type = URLDecoder.decode(type, 「UTF-8″);框架

  方法二:ajax配置contentType屬性,加上charset=UTF-8
  在ajax方法中加入如下參數
  contentType: 「application/x-www-form-urlencoded; charset=UTF-8″使用其它js框架或者xhr都是差很少,設置header中contentType便可,
  這裏關鍵是charset=UTF-8,若是沒有這個,是不行的,默認jQuery裏的contentType是沒有的jsp

問題:編碼

  jquery的ajax在後臺處理完數據傳到前臺jsp頁面時出現亂碼url

  解決方法:在後臺Java代碼中加入此句,response.setCharacterEncoding("utf-8");code

相關文章
相關標籤/搜索