安装
npm i --save-dev query-string
常用API
1. qs.parse(string, [options])
import qs from 'query-string'; location.search // ?name=jim location.hash // #token=123 qs.parse('?name=jim') // {name: 'jim'} qs.parse('#token=123') // {token: '123'} qs.parse('name=jim&name=lily&age=22') // {name: ['jim', 'lily'], age: 22}
options是一个 Object,可选值:decode,arrayFormat。查看详情
2. qs.stringify(object, [options])
import qs from 'query-string'; qs.stringify({name: 'jim', age: 22}); // 'age=22&name=jim' qs.stringify({name: ['jim', 'lily'], age: 22}); // 'age=22&name=jim&name=lily'
options是一个 Object,可选值:strict,encode,arrayFormat,sort。
3. qs.parseUrl(string, [options])
qs.parseUrl('http://www.baidu.com?name=jim'); // {url: 'http://www.baidu.com', query: {name: 'jim'}}
用 a 链接解析 url
这是不用第三方库的时候解析 url 的一种方法
function parseUrl(url) { let a = document.createElement('a'); a.href = url; return { host: a.hostname, port: a.port, query: a.search, hash: a.hash.replace('#', ''), params: (() => { let searchArr = a.search.replace(/^?/, '').split('&'); let params = {}; searchArr.forEach(item => { let [key, value] = item.split('='); params[key] = value; }); return params; })() } }