美文网首页
获取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