ajax請求url中文字符參數亂碼

  問題描述 : ajax請求url中如果包含中文字符參數值,後臺程序獲取的參數值出現亂碼問題。    

   示例代碼

    /**

     *判斷用電客戶安裝設備的計量方式:1、 高壓計量   2、低壓計量;加載對應的設備關係圖片
     */
    function getMeterLevel(consName){
       $.ajax({
               url:"CONSAnalyse_getMeterLevelFlag.action?cons_name="+consName,    // consName: 南京
               type:'POST',
               dataType:"json",
               error:function(){
                  alert("系統忙,獲取數據失敗!");
               },
               success:function(data){
                    if(data["result"] == "true"){ //高壓計量
                       $(".title2  img ").attr("src","../images/productHighVMeter.png");
                    }else{ //低壓計量
                       $(".title2  img ").attr("src","../images/productLowVMeter.png");
                    }                  
               }
       });

    }

  原因分析:URL中使用中文等非ASCII的字符造成服務器後臺程序解析出現亂碼。

  解決方式:url中的參數在 data屬性中封裝,此處字符編碼格式使用 utf-8

    /**

     *判斷用電客戶安裝設備的計量方式:1、 高壓計量   2、低壓計量;加載對應的設備關係圖片
     */
    function getMeterLevel(consName){
       $.ajax({
               url:"CONSAnalyse_getMeterLevelFlag.action",   
               type:'POST',

               data:{  "consName":    consName},       
               dataType:"json",
               error:function(){
                  alert("系統忙,獲取數據失敗!");
               },
               success:function(data){
                    if(data["result"] == "true"){ //高壓計量
                       $(".title2  img ").attr("src","../images/productHighVMeter.png");
                    }else{ //低壓計量
                       $(".title2  img ").attr("src","../images/productLowVMeter.png");
                    }                  
               }
       });

    }


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章