在微信H5中我们经常需要获取页面路径中的参数,如果正好项目是用vue写的,路径如下:
https://qcdkauto.17link.cc/?api_token=f3u4qmrgcyia672nn61g87zxexq16uzn#/course?id=117
获取的是比较麻烦的,使用this.$router.query
,只能获取到‘#’后面的参数,使用一般的方法只能获取到‘#’前面的参数,所以需要将两种方法结合一下;
export default {
name: 'index',
data() {
return {
showT: false
}
},
created() {
const queryUrl = this.getRequest()
let urlParams = Object.assign(queryUrl, this.$route.query) //参数合并
if(urlParams.api_token) {
localStorage.setItem('api_token', queryUrl.api_token)
};
},
methods: {
getRequest() {
var url = decodeURIComponent(location.search);
var theRequest = new Object();
if (url.indexOf("?") != -1) {
var str = url.substr(1);
var strs = str.split("&");
for(var i = 0; i < strs.length; i ++) {
theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);
}
}
return theRequest;
}
}
}