获取url中的参数

//思路
// 1、先判断url是否包含参数,如果不包含,判断是否查找了指定参数,如果指定了就返回空字符串,没有指定就返回空对象
//2、url中存在包含参数,判断是否指定了参数,如果指定了就返回该参数,如果没有指定返回全部参数对象
//3、假设url中包含参数,不管指没指定参数,只要存在多个同名的参数,这个参数的值以数组形式展现
function getUrlParam(sUrl, sKey) {
  var obj = {};

  //url中没传参
  if(sUrl.indexOf('?') == -1) {//没包含参数
      if(sKey==undefined){//没指定参数
          return obj;
      }else{//指定就返回空字符串
          return "";
      }
  } 

  //url中包含参数,对url进行处理获取参数内容
  var paramArr1 = (sUrl.split("?")[1]).split("#")[0];
  var paramArr2 = paramArr1.split('&');
   
  for(var i=0;i<paramArr2.length;i++){
      var keyValue = paramArr2[i].split("=");
      var key = keyValue[0];
      var value = keyValue[1];
      // if(value ==""){
      //     continue;
      // }
      if(obj.hasOwnProperty(key)){//判断obj中是否已包含参数名
          if(Array.isArray(obj[key])){//判断已存在的参数名的值是否为数组
              obj[key].push(value);
          }else{//不是数组,说明url中最多包含两个相同参数名
              var val = obj[key];//记录之前已经存在的该参数名下的值
              obj[key] = [];//把值的类型定义为数组
              obj[key].push(val);//先存入之前存在的参数值
              obj[key].push(value);//在存入第二个参数值
          }

      }else{//有新参数,直接添加
          obj[key]=value;
      }

  }
  //是否有指定参数,如果指定返回指定内容或空;如果没指定返回obj
  if(sKey){
      return obj[sKey]?obj[sKey]:"";
  }else{
      return obj;

  }

}

参考文章:https://blog.csdn.net/weixin_30436101/article/details/95610098

在uniapp获取url参数值可以通过`this.$route.query`或者`this.$mp.query`来获取。如果你想获取url的code参数,可以使用以下代码: ```javascript // 获取query对象 const query = this.$route.query; // 获取code参数 const code = query.code; ``` 或者 ```javascript // 获取query对象 const query = this.$mp.query; // 获取code参数 const code = query.code; ``` 以上代码展示了如何在uniapp获取url参数值。你可以使用`this.$route.query`或者`this.$mp.query`来获取整个query对象,然后通过.操作符获取特定的参数值,比如code参数。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span> #### 引用[.reference_title] - *1* *2* *3* [【uniapp】获取url参数this.$route.query或this.$mp.query](https://blog.csdn.net/qq_44632227/article/details/131086996)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *4* [小程序爬坑——扫码进入程序参数获取](https://download.csdn.net/download/weixin_38528459/16209687)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值