获取浏览器地址栏参数

  • Post author:
  • Post category:其他


一、很对时候在路由跳转时或者在打开一个运维配置的服务时,地址上传入我们需要的参数,下面我就依照我项目中的案例讲一下获取参数的简单方法

1、例如我们当前的地址是这样的

我们在控制台打印一下location

接下来我们封装一个方法

// 获取参数的方法
getSearchParams(search) {
    const searchParams = {}
    const searchStr = search.substring(1)	// 如果location中有search值,去除search值中的第一个字符‘?’
    const searchArr = searchStr.length ? searchStr.split('&') : [] // 以 & 符为分隔符,解析出key value 组合,组合的形式为'key=value'
    searchArr.forEach(item => {
      let keyAndValue = item.split('=')	// 以 = 为分隔符,解析出key 和 value,其中数组的第一项为key,数组的第二项为value
      let key = decodeURIComponent(keyAndValue[0])    // 如果查询参数中包含中文,会被编码成一串字符串,需要使用decodeURIComponent进行解码
      let value = decodeURIComponent(keyAndValue[1])
      if (key) {
        searchParams[key] = value
      }
    })
    return searchParams
  }




 const splitUrl = window.location.search;
 let searchData = this.getSearchParams(splitUrl)
 console.log(searchData)

会看到我们打印的值是

这样我们就可以从searchData中解析我们需要的数据啦~



版权声明:本文为bingfenghuiyipp原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。