问题描述 : 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");
}
}
});
}