美文网首页
获取url ?号后面的参数的几种方式

获取url ?号后面的参数的几种方式

作者: 小李子_前端 | 来源:发表于2018-01-25 16:24 被阅读0次

    search和hash的区别,如果URL中“?”之前有一个“#”比如:“http://localhost:63342/index.html#/version?type=35&id=5”那么使用window.location.search得到的就是空(“”)。因为“?type=35&id=5”串字符是属于“#/version?type=35&id=5”这个串字符的,也就是说查询字符串search只能在取到“?”后面和“#”之前的内容,如果“#”之前没有“?”search取值为空。

所以我做了一个通用的方法


方法 1:

function getQueryString() {

    var obg={},a='';

    (a=window.location.search.substr(1))||(a=window.location.hash.split('?')[1])

    a.split(/&/g).forEach(function(item){

        obg[(item=item.split('='))[0]]=item[1];

    })

    return obg

}

getQueryString();

方法 2:

function getQueryString(e) { //要传入key值

    var t = new RegExp("(^|&)" + e + "=([^&]*)(&|$)");

    var a = window.location.href.match(t);

    if (a != null) return a[2];

    return ""

}


相关文章

网友评论

      本文标题:获取url ?号后面的参数的几种方式

      本文链接:https://www.haomeiwen.com/subject/babvaxtx.html