怎么解析url里面的参数

626 阅读1分钟

url可以作为页面传参缓存数据的地方,那么解析其中的参数是很重要的。给定一个url如何从中提取数据。

使用字符串的方法处理

url后面更的参数叫query字符串以?开始,以&间隔的键值对key=value; 先找到?的位置,保留后面的部分,以&符号切割,在返回的数组以=切割,最后存储到一个对象并返回。

function parseQuery(url){
  	let index = url.indexOf('?')
        let urlPrams = url.slice( index + 1)
        let arr = urlPrams.split('&')
        let prams = {}
        for (const item of arr) {
            let itemArr = item.split('=')
            let [key, value] = itemArr
            prams[key] = value
        }
        return prams
}

parseQuery('http://localhost:80/api/search?wd=abc&limit=10&offset=20')