快速精确地获取location.search中的各个参数值
快速 获取 精确 各个 search Location 参数值
2023-06-13 09:17:28 时间
在项目开发中,经常会遇到去获取location.search中参数的情况,有时候是获取全部,有时候是获取其中一个参数。下面我总结了三种方法,第一个之前经常用,但是有了第二个、第三个方法之后,嗯嗯,真香。目前主要用第二个或者第三个。
1、通过location.search去获取参数字符串,再进行截取转化获取。
以 http://localhost:9090/mobile/login/register?id=2f63398&mark=577962 为例
window.location.search 是‘?id=2f63398&mark=577962’
let search = window.location.search.slice(1);
let params = search.split('&');
let [id, mark] = ['', '']
if (params[0].includes('id')) {
id = params[0].split('=')[1]
mark = params[1].split('=')[1]
} else {
id = params[1].split('=')[1]
mark = params[0].split('=')[1]
}
console.log(id) // 2f63398
console.log(mark) // 577962
这个方法是能获取到search中的参数,但是有点麻烦。
2、通过 new URL()
以 http://localhost:9090/mobile/login/register?id=2f63398&mark=577962 为例
let params = new URL(location.href).searchParams;
let [id, mark] = [params.get('id'), params.get('mark')];
console.log(id) // 2f63398
console.log(mark) // 577962
第二种方法和第一种方法对比,简洁了很多,也方便了很多,想获取哪个参数,直接get(参数名)。 new URL()更详细的用法,请看MDN,链接:URL_API
3、通过 new URLSearchParams()
以 http://localhost:9090/mobile/login/register?id=2f63398&mark=577962 为例
let params = new URLSearchParams(location.search);
let [id, mark] = [params.get('id'), params.get('mark')];
console.log(id) // 2f63398
console.log(mark) // 577962
new URLSearchParams()更详细的用法,请看MDN,链接:URLSearchParams
从上面最后两种种方法可以看到,有更简便的api方法帮我们快速精确地获取location.search中的各个参数值。common on!
相关文章
- GPT-4发布会 更快速、更智能、更AI
- 端快速开发Oracle一小时快速搭建前端开发环境(oracle一小时前)
- 连接快速连接远端:用Linux SSH连接本机(linuxssh本机)
- linux 跟分区:快速获取完美系统性能(linux的跟分区)
- Linux 切换网卡:快速轻松设置(linux切换网卡)
- 使用Oracle查询函数快速获取结果(oracle查询函数)
- Linux如何快速安装LZMA(linux安装lzma)
- Linux环境快速搭建指南(linux环境搭建命令)
- 优化客户端SQLServer,快速数据获取(客户端SQLServer)
- Linux查看网络带宽:快速掌握网络状况(linux 带宽查看)
- Linux 下快速获取当前月份的方法(linux获取月份)
- 快速熟悉 MySQL 查询的精髓(mysql 查询 空格)
- Linux ABCD:快速轻松掌握Linux操作技能(linux abcd)
- 学习C语言 快速读取Oracle数据库(C 读oracle数据库)
- 快速获取Redis最新版本下载地址(下载redis地址)
- 快速获取Redis对象的技巧(如何获取redis对象)
- Oracle主键查找快速高效的数据获取之道(oracle主键查找)
- Oracle中最佳查询快速获取分数的差异(Oracle中查询分数差)
- Oracle中快速制作数据库副本(oracle中制作副本)
- 快速搭建Redis集群以获取最优的取值(redis集群如何取值)
- Oracle SR注册快速获取专业技术支持(oracle sr注册)
- 用Redis实现范围查询一种快速数据获取方式(redis范围查询数据)