两种方法获取地址栏中传递的参数
第一种: 字符串拆分法
Windows.location.href 或者 location.href 或者 Windows.location 获得地址栏中的所有内容
decodeURI()可以解码地址栏中的数据 恢复中文数据
Windows.search 获得地址栏中问号及问号之后的数据
- // 获取地址栏里 (URL) 传递的参数
- function GetRequest(value) {
- //url 例子: www.bicycle.com?id="123456"&Name="bicycle";
- var url = decodeURI(location.search); //?id="123456"&Name="bicycle";
- var object = {};
- if(url.indexOf("?") != -1)//url 中存在问号, 也就说有参数.
- {
- var str = url.substr(1); // 得到? 后面的字符串
- var strs = str.split("&"); // 将得到的参数分隔成数组[id="123456",Name="bicycle"];
- for(var i = 0; i < strs.length; i ++)
- {
- object[strs[i].split("=")[0]]=strs[i].split("=")[1]
- }
- }
- return object[value];
- }
第二种: 正则匹配法
这种方法其实原理和上一种方法类似, 都是从 URL 中提取, 只是提取的方法不同而已.
- function GetQueryString(name) {
- var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
- var r = Windows.location.search.substr(1).match(reg);
- if (r != null) {
- return unescape(r[2]);
- }
- return null;
- }
在 vue 中可以通过 this.$route 获取路由对象然后根据具体需要取对象内容
this.$route.path 当前页面路由
this.$route.params 路由参数
this.$route.query 查询路由参数
来源: http://www.bubuko.com/infodetail-2849816.html