URL中的参数提取

前言:

平时往往会有一些需求,要我们拿到 url 里的参数,传给后端做处理 或者 别的一些操作,那么就涉及到对 url 字符串进行各种操作,恰好我刷题碰到一个类似的题目描述 ,本篇文章主要介绍简单的方式 获取 url 中的参数。

题目描述


 操作步骤

操作 指定的 url 

新建对象存储后面的操作结果

  var Params = new Object()

 找到 url 中 ‘?’ 的索引

 var index = url.indexOf('?')

 提取 ‘?’ 之后的全部字符串

 var strs = url.slice(index+1)

把各个 参数 分离,变成数组

 var str = strs.split('&')

循环 分离 每个参数 的 键与值

 for(let i = 0; i < str.length; i++) { 
         Params[str[i].split("=")[0]]=str[i].split("=")[1];
     } 

完整代码

代码中 的打印 语句 是我测试每个操作的结果 ,这个可以删除

<script>
            const _getParams = (url) => {
                // 补全代码
                var Params = new Object()
                //  找到 url 中 ‘?’ 的索引
                var index = url.indexOf('?')
                console.log(index)
                //  提取 ‘?’ 之后的参数
                var strs = url.slice(index+1)
                console.log(strs)
                // 把各个 参数 分离,变成数组
                var str = strs.split('&')
                console.log(str)
                //  循环 分离 每个参数 的 键值
                for(let i = 0; i < str.length; i++) { 
                    // Params[str[i].split("=")[0]]=unescape(str[i].split("=")[1]); 
                    Params[str[i].split("=")[0]]=str[i].split("=")[1];
            } 
            console.log(Params) 
            }
            _getParams('https://nowcoder.com/online?id=1&salas=1000')
        </script>

操作当前页面的 URL 

这个就是靠  location.search 直接快速 提取到  ‘ ?’  即后面 的代码 ,其他步骤都一样

 window.location打印结果


location.search 

 完整代码

getRequest = function() { 
          var Params = new Object()  
         //  获取 url 路径 '?' 以及后面的全部参数
           var url = location.search;    
          //  去掉 ‘?’ ,拿到参数
            let strs = url.substr(1); 
            //  使用 split 让不同参数分离 ,strs 是数组形式 
            let str = strs.split("&"); 
            for(let i = 0; i < str.length; i++) {    
                  Params[str[i].split("=")[0]]=str[i].split("=")[1];
            } 
        return  Params
    },
           

文章如有错误,恳请大家提出问题,本人不胜感激 。 不懂的地方可以评论,我都会一一回复

文章对大家有帮助的话,希望大家能动手点赞鼓励,大家未来一起努力     长路漫漫,道阻且长  

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

潮汐未见潮落

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值