动态获取url参数,只获取aid

动态获取http://10.179.91.238:8000/?box=11&aid=696772&xx=22里面的aid,只获取aid

function GetRequest() {
      var url = window.location.search; //获取url中"?"符后的字串
      if (url.indexOf("?") != -1) { //判断是否有参数
        var str = url.substr(1); //从第一个字符开始 因为第0个是?号 获取所有除问号的所有符串
        strs=str.split('&')
        for(i=0;i<strs.length;i++){
          if(strs[i].includes('aid')){
            // 判断哪个里面包含aid
            var aid=strs[i].split('=')[1]
          }
        }
        console.log(aid)  
        }
      }
      GetRequest()

参考链接:https://www.jb51.net/article/82519.htm

let aid = this.$route.query.aid

 console.log(getQueryVariable('aid', "http://10.179.91.238:8000/?box=11&aid=696772&xx=22"))
    function getQueryVariable(variable, url) {
        // var query = window.location.search.substring(1); //这个是从浏览器地址栏获取
        // var vars = query.split("&");
        var vars = url.split("&");
        for (var i = 0; i < vars.length; i++) {
            var pair = vars[i].split("=");
            if (pair[0] == variable) { return pair[1]; }
        }
        return (false);
    }

 

window.location.href  获取地址

split分割

如果是用纯js来获取的话

思路:

1、先将url后的参数转换成对象

2、再从对象中用.运算符取出

let url = 'http://10.179.91.238:8000/?box=11&aid=696772&xx=22'
let urlarr = url.split('?')[1].split('&');
let obj = {};
for(let i of urlarr){
    let [key, val] = i.split('=');
    if(!!key){
        obj[key] = val;
    }
}
console.log(obj.aid) // 696772