如何从 JavaScript 中检索 GET 参数?
为了知道参数,这些是通过“GET”方法传递的,就像有时我们传递电子邮件 ID、密码和其他详细信息一样。为此,我们正在使用以下代码片段。
当您访问任何网站时,有没有想过问号“?”是什么?正在地址栏中做。让我们找出这个问号“?”的用途。
是什么 '?':
问号就像一个分隔符,后面是一个键值对形式的查询字符串。多个键值对由“&”符号分隔。
例子:
geeksforgeeks.org/web-development?page=2&name=gfg
上图为地址。后跟“?”的内容是具有两个键值对的查询字符串,如下所示:
- 第 1 对:页 = 2
- 第 2 对:名称 = gfg
我们的任务是从每一对中获取各自的值,这些值也称为 GET 参数。
方法1:使用地址中指定的键: URLSearchParams 类接受网站的地址并搜索与提供的键关联的值。
这是上述方法的代码:
Javascript
// Arrow function to get the parameter
// of the specified key
getParameter = (key) => {
// Address of the current window
address = window.location.search
// Returns a URLSearchParams object instance
parameterList = new URLSearchParams(address)
// Returning the respected value associated
// with the provided key
return parameterList.get(key)
}
// Gets the value associated with the key "ie"
console.log(getParameter("ie"))
Javascript
// Arrow function to get all the GET parameters
getParameters = () => {
// Address of the current window
address = window.location.search
// Returns a URLSearchParams object instance
parameterList = new URLSearchParams(address)
// Created a map which holds key value pairs
let map = new Map()
// Storing every key value pair in the map
parameterList.forEach((value, key) => {
map.set(key, value)
})
// Returning the map of GET parameters
return map
}
// Gets all the getParameters
console.log(getParameters())
输出:
2
方法 2:使用 URLSearchParams 类的 forEach 属性检索所有 GET 参数。
Javascript
// Arrow function to get all the GET parameters
getParameters = () => {
// Address of the current window
address = window.location.search
// Returns a URLSearchParams object instance
parameterList = new URLSearchParams(address)
// Created a map which holds key value pairs
let map = new Map()
// Storing every key value pair in the map
parameterList.forEach((value, key) => {
map.set(key, value)
})
// Returning the map of GET parameters
return map
}
// Gets all the getParameters
console.log(getParameters())
输出:
{"page" => "2", "name" => "gfg"}