silki
Version:
Cli tool for build react app, based on generator-react-multipage, create-react-app, roadhog. Support react multiple pages app develop.
28 lines (27 loc) • 902 B
JavaScript
/**
* getUrlSearchObj 获得 url 查询参数对象
* @param {string} query location.search
* @return {object} url 查询参数对象
*/
export default function getUrlSearchObj(query) {
if (!query) {
query = location.search.substring(1);
}
var vars = query.split('&');
var query_string = {};
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split('=');
// If first entry with this name
if (typeof query_string[pair[0]] === 'undefined') {
query_string[pair[0]] = decodeURIComponent(pair[1]);
// If second entry with this name
} else if (typeof query_string[pair[0]] === 'string') {
var arr = [query_string[pair[0]], decodeURIComponent(pair[1])];
query_string[pair[0]] = arr;
// If third or later entry with this name
} else {
query_string[pair[0]].push(decodeURIComponent(pair[1]));
}
}
return query_string;
}