js方法获取get方式传过来的参数不乱码如何实现?
程序员文章站
2022-06-12 23:09:54
需求: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() !!! 中文乱码解决!!!!
上一篇: layui分页效果实现代码