URL 参数的获取与拼接

1,094 阅读1分钟

获取url里的参数

// key 获取的值 url 是否需要解析特定的url还是当前页面的url
    getURLParams(key,url){
        if(!key || typeof key !== 'string') return null
        let newStr = '?'
        if(url){
            newStr += url.split('?')[1]
        }else{
            if(window.location.hash){
                newStr += window.location.hash.split('?')[1]
            }else{
                newStr = window.location.search // search 解析出来带?号
            }
        }
        if(newStr === '?') return null
        let params = new URLSearchParams(newStr)
        return params.get(key) || null
    },

设置url参数

// obj 参数对象 url 拼接的前缀
    setURLParams(obj,url){
        if(typeof obj !== 'object') return null
        if(!url || !Object.keys(obj)) return null
        if(url.split('?').length === 1){
            url += '?'
        }
        let arr = []
        for(let i in obj){
            arr.push(`${encodeURIComponent(i)}=${obj[i]}`)
        }
        url += arr.join('&')
        return url
    }

如有问题 欢迎大家留言 看了一定及时回复!!!