在前端开发中,你可以使用JavaScript的URLSearchParams
接口来获取URL查询字符串中的参数。以下是一个简单的方法,它接受一个URL作为参数,并返回一个包含所有查询参数的对象:
function getQueryParams(url) {const urlObj = new URL(url);const params = new URLSearchParams(urlObj.search);const queryParams = {};for (const [key, value] of params.entries()) {queryParams[key] = value;}return queryParams;
}// 使用示例
const url = 'https://example.com/?name=John&age=30&city=New%20York';
const params = getQueryParams(url);
console.log(params); // 输出: { name: 'John', age: '30', city: 'New York' }
在这个例子中,我们首先使用URL
构造函数创建一个URL对象,然后使用URL.search
属性获取查询字符串。接下来,我们使用URLSearchParams
构造函数创建一个新的搜索参数对象,并使用URLSearchParams.entries()
方法遍历所有的查询参数。最后,我们将每个查询参数添加到一个新的对象中,并返回这个对象。
如果你只想获取当前页面的URL查询参数,你可以简化这个函数,如下所示:
function getCurrentQueryParams() {const params = new URLSearchParams(window.location.search);const queryParams = {};for (const [key, value] of params.entries()) {queryParams[key] = value;}return queryParams;
}// 使用示例
const params = getCurrentQueryParams();
console.log(params); // 输出当前页面的查询参数对象
在这个简化的版本中,我们直接使用window.location.search
来获取当前页面的查询字符串,而不需要传递URL作为参数。