📅  最后修改于: 2023-12-03 15:08:14.045000             🧑  作者: Mango
在前端开发中,我们经常需要从 URL 中获取传递过来的参数。GET 参数一般以 URL 参数的形式出现,我们需要使用 JavaScript 将这些参数提取出来。以下是几种常见的方法。
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
的参数的值,并将其打印到控制台中。
我们可以使用正则表达式从 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]
方法提取匹配到的第二个数组元素(即捕获组)的值。
URLSearchParams API 提供了一种更简单的方式来获取 URL 中的查询参数。例如:
const params = new URLSearchParams(window.location.search);
const id = params.get('id');
console.log(id);
在上述代码中,我们使用 URLSearchParams 类创建了一个新的对象 params,并传入了当前 URL 中的查询字符串,然后使用 get()
方法获取名为 id
的参数的值,并将其打印到控制台中。
我们可以封装一个方法来获取 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 中的参数。