需求:重定向跳转过来时,需要拿到url上传过来的值,比如:token。。
/**
* 获取url参数
* @param {string | array} name 参数名
* @returns
*/
export const getUrlQuery = name => {
const url = window.location.href;
const subIndex = url.indexOf('?');
if (subIndex !== -1) {
const params = url.substr(subIndex + 1).split('&');
const query = {};
params.forEach(v => {
const r = v.split('=');
// eslint-disable-next-line prefer-destructuring
query[r[0]] = decodeURI(r[1]);
});
if (name) {
if (typeof name === 'string') {
return query[name];
}
if (Array.isArray(name)) {
const partQuery = {};
name.forEach(key => {
if (query[key]) {
partQuery[key] = query[key];
}
});
return partQuery;
}
}
return query;
}
return '';
};
使用:
window.location.href为:https://www.xxx.com?token=123456 const hToken = getUrlQuery('token'); // 123456