Node.js 接收 URL 参数
在本文中,我将向您展示如何使用 URLSearchParam 来访问和修改查询字符串值。

HTTP 协议允许您使用请求参数向网页发出请求。
例如:
https://test.com/?name=roger
https://test.com/hello?name=roger
在这个例子中,我们有一个名为 name 的查询参数,其值为 Kongfun。
您可以有多个参数,例如:
https://test.com/hello?name=roger&age=20
要使用 JavaScript 访问浏览器中的查询值,我们有一个名为 URLSearchParam 的特殊 API,所有现代浏览器都支持它:
我们可以这样使用它:
const params = new URLSearchParams(window.location.search)
注意。不要将完整的 URL 作为 URL 参数传递给 URLSearchParams(),而只传递可以使用 window.location 文件访问的 URL 查询字符串的一部分。
在此示例中:
https://test.com/hello?name=roger
window.location.search 等于字符串 ?name=roger。
现在我们有了参数对象,我们可以访问它了。
检查值:
params.has('test')
获取值:
params.get('test')
您还可以使用 for...of... 循环遍历所有查询参数。
const params = new URLSearchParams(window.location.search)
for (const param of params) {
console.log(param)
}
查询参数可以有多个相同的键。
在此示例中,我们多次传递相同的参数名称,如下所示:
https://test.com/hello?name=roger&name=flavio
我们无法检测参数是否被多次传递。当我们使用 parms .get('name') 时,我们仅返回第一个值。
我们可以使用parms。 getall('name') 返回包含所有传递值的数组。
除了 has()、get() 和 getAll() 之外,URLSearchParams API 还提供了一些其他方法,我们可以使用它们来迭代参数:
- forEach() 迭代参数
- entries() 返回包含参数键/值的迭代器
- keys() 返回包含参数键的迭代器
更改页面上其他 JavaScript 中使用的参数的其他方法(它们不会更改 URL):
- append() 向对象添加新参数
- delete() 删除现有参数
- set() 设置参数的值
我们可以使用 sort() 命令按键值对参数进行排序,并使用 toString() 方法从这些值生成查询字符串。
我们可以使用append()/set()/delete()来编辑查询字符串,使用toString()来生成新的查询字符串。
我之前有另一篇文章,使用普通规则获取URL参数。有兴趣的朋友可以在这里阅读。
在 JavaScript 中获取 URL 查询字符串值
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。