function haveToken() {
let queryArr;
queryArr = window.location.href.split("?")[1];
if (queryArr.includes("&")) {
let info = {};
queryArr = queryArr.split("&");
queryArr.forEach(item => {
const arrItem = item.split("=");
info[arrItem[0]] = arrItem[1];
});
if (info.token) {
this.query = info.token;
}
} else {
this.query = queryArr.split("=")[1];
}
}
如果你是在vue项目里呢,这种方法显示不是最优解,一行代码就可以代替
this.$route.query.token;
=======================华丽的分割线=====================================
实现这个效果的方法有很多,现在增加一种
/**
* @param {string} url
* @returns {Object}
*/
export function getQueryObject(url) {
url = url == null ? window.location.href : url
const search = url.substring(url.lastIndexOf('?') + 1)
const obj = {}
const reg = /([^?&=]+)=([^?&=]*)/g
search.replace(reg, (rs, $1, $2) => {
const name = decodeURIComponent($1)
let val = decodeURIComponent($2)
val = String(val)
obj[name] = val
return rs
})
return obj
}