js获取get参数,中文乱码问题
1、a.html里链接:
<a href="b.html?username=李江软件">点此链接</a>
2、b.html里用js接收username参数值:
var username=request("name");
function request(paras) {
var url = location.href;
var paraString = url.substring(url.indexOf("?") + 1, url.length).split("&");
var paraObj = {}
for (i = 0; j = paraString[i]; i++) {
paraObj[j.substring(0, j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=") + 1, j.length);
}
var returnValue = paraObj[paras.toLowerCase()];
if (typeof (returnValue) == "undefined") {
return "";
} else {
//t=new String(returnValue.getBytes("ISO8859_1"),"UTF-8");
//return t;
return returnValue;
}
}
在IE下接收过来的参数值能正确显示为中文“李江软件”,但是,在chrome浏览器下却显示一串乱码。
解决方法:转码函数:decodeURI()
将:
var username=request("username");
改为:
var username=decodeURI(request("username"));
登录后方可回帖