第一种方法:
function parseQuery(url) {
let query = url.split('?')[1] || '';
let result = {};
query.split('&').forEach(item => {
let [key, value] = item.split('=');
result[key] = value;
});
return result;
}
// console.log(parseQuery('http://localhost:3016/setting?a=1&b=2')); 测试 { a: '1', b: '2' }
第二种方法,使用正则表达式
export function parseQuery2(url) {
const URL = url
return JSON.parse(`{"${decodeURI(URL.split('?')[1]).replace(/"/g, '\\"').replace(/&/g, '","').replace(/=/g, '":"')}"}`)
}
// console.log(parseQuery2('http://localhost:3016/setting?a=1&b=2')); 测试 { a: '1', b: '2' }