js获取get参数,中文乱码问题

By 水木神風 at 2016-11-03 • 0人收藏 • 1995人看过

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"));


登录后方可回帖