需求:get请求下,获得后台穿过来的URL参数:
用EL表达式试了下,不行
然后百度一下:解决方案:
function
GetQueryString(name)
{
var
reg =
new
RegExp(
"(^|&)"
+ name +
"=([^&]*)(&|$)"
);
var
r = window.location.search.substr(1).match(reg);
if
(r!=
null
)
return
unescape(r[2]);
return
null
;
}
// 调用方法
alert(GetQueryString(
"参数名1"
));
alert(GetQueryString(
"参数名2"
));
alert(GetQueryString(
"参数名3"
));
|
乱码原因:原因:浏览器会将url中的中文参数进行encodeURI编码,所以要通过js使用decodeURI进行解码
最终解决方案:
function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)","i"); var r = window.location.search.substr(1).match(reg); if (r!=null) return (decodeURI(r[2])); //解决中文乱码问题
return null; }
将解码方式换为decodeURI() !!! 中文乱码解决!!!!