Parâmetros de obtenção de URL de JavaScript

Harshit Jindal 12 outubro 2023
  1. Use os searchParams do objeto URL para obter os valores dos parâmetros GET
  2. Use location.search para obter os valores dos parâmetros GET
Parâmetros de obtenção de URL de JavaScript

Este tutorial ensina como obter os valores dos parâmetros GET.

Use os searchParams do objeto URL para obter os valores dos parâmetros GET

O objeto URL representa a URL definida pelos parâmetros. Podemos usar sua propriedade searchParams para retornar um objeto URLSearchParams que nos permite acessar os parâmetros decodificados em GET. Podemos então usar a função get anexada ao objeto URLSearchParams para obter o valor de qualquer parâmetro dentro do URL.

var input_string =
    'http://www.google.com/app.html?apple=1&banana=3&cherry=m2';  // window.location.href
var url = new URL(input_string);
var cherry = url.searchParams.get('cherry');
console.log(cherry);

No código acima, primeiro obtemos o objeto URLSearchParams e, em seguida, usamos sua função get para obter os valores dos parâmetros decodificados.

Use location.search para obter os valores dos parâmetros GET

A propriedade search de location é basicamente uma string de pesquisa que também é chamada de query string. Para obter os valores dos parâmetros, dividimos a string e, em seguida, armazenamos os parâmetros e seus valores em um dicionário. Podemos então usar facilmente o dicionário para obter todos os pares de chave e valor.

var GET_parameters = {};

if (location.search) {
  var splitts = location.search.substring(1).split('&');
  for (var i = 0; i < splitts.length; i++) {
    var key_value_pair = splitts[i].split('=');
    if (!key_value_pair[0]) continue;
    GET_parameters[key_value_pair[0]] = key_value_pair[1] || true;
  }
}

var abc = GET_parameters.abc;

Todos os métodos discutidos são suportados por todos os principais navegadores.

Harshit Jindal avatar Harshit Jindal avatar

Harshit Jindal has done his Bachelors in Computer Science Engineering(2021) from DTU. He has always been a problem solver and now turned that into his profession. Currently working at M365 Cloud Security team(Torus) on Cloud Security Services and Datacenter Buildout Automation.

LinkedIn