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

📅  最后修改于: 2022-05-13 01:56:25.094000             🧑  作者: Mango

如何从 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"}