当前位置: 移动技术网 > IT编程>开发语言>JavaScript > js方法获取get方式传过来的参数不乱码如何实现?

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

2019年03月25日  | 移动技术网IT编程  | 我要评论

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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网