📜  如何从 JavaScript 中检索 GET 参数?(1)

📅  最后修改于: 2023-12-03 15:08:14.045000             🧑  作者: Mango

如何从 JavaScript 中检索 GET 参数?

在前端开发中,我们经常需要从 URL 中获取传递过来的参数。GET 参数一般以 URL 参数的形式出现,我们需要使用 JavaScript 将这些参数提取出来。以下是几种常见的方法。

1. 使用 window.location.search 方法

window.location.search 方法返回 URL 中的查询字符串(从问号 (?) 开始的部分)。我们可以使用该方法获取 URL 中的 GET 参数。例如:

const searchParams = new URLSearchParams(window.location.search);
const id = searchParams.get('id');
console.log(id);

在上面的代码中,我们使用了 URLSearchParams 类创建了一个新的对象 searchParams,并传入 window.location.search 参数,然后使用 searchParams.get('id') 方法获取 URL 中名为 id 的参数的值,并将其打印到控制台中。

2. 使用正则表达式

我们可以使用正则表达式从 URL 中提取参数。例如,下面的代码可以从 URL 中提取参数 id 的值:

const url = 'http://example.com?id=123&name=John';
const id = url.match(/id=(\d+)/)[1];
console.log(id);

在上述代码中,我们使用正则表达式 /id=(\d+)/ 匹配 URL 中的参数 id 的值,并使用括号 () 将数字捕获到一个组中。然后使用 match()[1] 方法提取匹配到的第二个数组元素(即捕获组)的值。

3. 使用 URLSearchParams API

URLSearchParams API 提供了一种更简单的方式来获取 URL 中的查询参数。例如:

const params = new URLSearchParams(window.location.search);
const id = params.get('id');
console.log(id);

在上述代码中,我们使用 URLSearchParams 类创建了一个新的对象 params,并传入了当前 URL 中的查询字符串,然后使用 get() 方法获取名为 id 的参数的值,并将其打印到控制台中。

4. 封装一个方法

我们可以封装一个方法来获取 URL 中的参数。例如:

function getQueryParam(param) {
  const searchParams = new URLSearchParams(window.location.search);
  return searchParams.get(param);
}

const id = getQueryParam('id');
console.log(id);

在上面的代码中,我们创建了一个名为 getQueryParam 的方法,该方法接受一个参数 param,并返回 URL 中名为 param 的参数的值。

综上,以上是在 JavaScript 中检索 GET 参数的几种常用方法。根据不同的需求和场景,我们可以选择适合自己的方法来获取 URL 中的参数。