mcya / JavaScriptExperience

👮 JavaScript Experience for web(JavaScript归类:简单入门+数组+经典循环+字符串+函数+Date日期+简单对象+BOM+DOM) +[ Issues(js实用技巧)]
29 stars 8 forks source link

js 获取url参数 #9

Open mcya opened 7 years ago

mcya commented 7 years ago

只是适合在 g-grid


//封装的函数
function getUrlParam(paramName) {
    paramValue = "";
    isFound = false;
    if (this.location.search.indexOf("?") == 0 && this.location.search.indexOf("=") > 1) {
        arrSource = unescape(this.location.search).substring(1, this.location.search.length).split("&");
        i = 0;
        while (i < arrSource.length && !isFound) {
            if (arrSource[i].indexOf("=") > 0) {
                if (arrSource[i].split("=")[0].toLowerCase() == paramName.toLowerCase()) {
                    paramValue = arrSource[i].split("=")[1];
                    isFound = true;
                }
            }
            i++;
        }
    }
    return paramValue;
}

// 假设url的值如下:
// http://localhost:8081/times/pages/params/customer/customerSearch.jsp?groupids=abc

//引用方式
var urlValue = getUrlParam('groupids')
// urlValue 值:abc
mcya commented 7 years ago

http://blog.csdn.net/genius_yym/article/details/77247519 点击链接

mcya commented 6 years ago

上面的方法,你妹妹的只是适合在 g-grid

如下新方法,可以是普遍化的。

//封装的函数
function getUrlParams(objName) {
    var data = window.location.href;
    if(data.indexOf("?")<0) return undefined; //判断是否存在参数
    var allParamsArr = data.split("?")[1].split("&"), returnObj = {};
    if(allParamsArr.length==0) return undefined; //参数是否带惨,狗屁的有的人无聊带问号不带参数的
    for(var i =0; i<allParamsArr.length; i++) {
        returnObj[`${allParamsArr[i].split("=")[0]}`] = allParamsArr[i].split("=")[1]
    }
    return returnObj[`${objName}`]
}

//引用方式
// 假设地址是:"http://localhost:8989/#/saleMgr/houseQuery?_k=1rcgps&sp=123&un=undefine"
var a = getUrlParams('sp') //返回 "123" 字符串
var a = getUrlParams('un') //返回 "undefine" 字符串
var a = getUrlParams('unn') //不存在,即返回 undefine