Code前端首页关于Code前端联系我们

Node.js 接收 URL 参数

terry 2年前 (2023-09-09) 阅读数 179 #Javascript

在本文中,我将向您展示如何使用 URLSearchParam 来访问和修改查询字符串值。

js获取URL参数js接收URL参数

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前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门