欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

js方法获取get方式传过来的参数不乱码如何实现?

程序员文章站 2024-02-08 13:46:16
需求:get请求下,获得后台穿过来的url参数: 用el表达式试了下,不行 然后百度一下:解决方案: function getquerystring(name) {...

需求: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() !!! 中文乱码解决!!!!