js获取url参数中文乱码问题 decodeURI

作者: web 发布时间: 2019-08-15 浏览: 3299 次 编辑

上一篇文章 js获取url参数的时候没考虑到中文乱码的问题

其实很简单 直接用 decodeURI 函数就行了

方法:

以下JS函数用于获取url参数:(超级简单)

function getQueryParam(variable) {
    var query = window.location.search.substring(1);
    var vars = query.split("&");
    for (var i = 0; i < vars.length; i++) {
        var pair = vars[i].split("=");
        if (pair[0] == variable) {
            return pair[1];
        }
    }
    return (false);
}

url实例

https://www.niwoxuexi.com/blog/index.html?id=123456&name=你我学习网 

结果:

调用 getQueryVariable("name") 返回 %E4%BD%A0%E6%88%91%E5%AD%A6%E4%B9%A0%E7%BD%91

这个时候 需用函数 decodeURI

var name = decodeURI(getQueryParam('name'))

这样调用就可以了,返回结果:你我学习网


方法二,直接在getQueryParam()方法里处理


function getQueryParam(variable) {
    var query = window.location.search.substring(1);
    var vars = query.split("&");
    for (var i = 0; i < vars.length; i++) {
        var pair = vars[i].split("=");
        if (pair[0] == variable) {
            return decodeURL(pair[1]);
        }
    }
    return (false);
}

直接调用 就可以了

var name = getQueryParam('name')

返回结果:你我学习网