問題描述 : 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");
}
}
});
}