文章目录
-
- 1.window.location
-
- 当前URL
- 协议
- 域名 + 端口
- 域名
- 端口
- 路径部分
- 请求的参数
- 获取’?'前边的URL
- 获取#之后的内容
- 2.vue-router 获取参数
-
- this.$route
- this.$route.fullPath
- this.$route.hash
- this.$route.matched
- this.$route.meta
- this.$route.params
- this.$route.query
1.window.location
实例:http://www.myurl.com:8866/test?id=123&username=xxx
当前URL
window.location.href
结果:http://www.myurl.com:8866/test?id=123&username=xxx
协议
window.location.protocol
结果:http
域名 + 端口
window.location.host
结果:www.myurl.com:8866
域名
window.location.hostname()
结果:www.myurl.com
端口
window.location.port()
结果:8866
路径部分
window.location.pathname()
结果:/test
请求的参数
window.location.search
结果:?id=123&username=xxx
备注:获取参数
// var url="www.baidu.com?a=1&b=2&C=3";//测试地址
/*
* 分析:最前面是?或&,紧跟着除 ?&#以外的字符若干
* 然后再等号,最后再跟着除 ?&#以外的字符
* 并且要分组捕获到【除?&#以外的字符】
*/
var reg=/[?&]([^?&#]+)=([^?&#]+)/g;
var param={};
var ret = reg.exec(url);
while(ret){ // 当ret为null时表示已经匹配到最后了,直接跳出
param[ret[1]]=ret[2];
ret = reg.exec(url);
}
console.log(param)
获取’?'前边的URL
window.location.origin()
结果:http://www.myurl.com:8866
获取#之后的内容
window.location.hash
结果:null