前言:
平时往往会有一些需求,要我们拿到 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
},
文章如有错误,恳请大家提出问题,本人不胜感激 。 不懂的地方可以评论,我都会一一回复
文章对大家有帮助的话,希望大家能动手点赞鼓励,大家未来一起努力 长路漫漫,道阻且长