Dê uma olhada no artigo MDN sobre window.location
.
O QueryString está disponível em window.location.search
.
Solução que funciona em navegadores legados também
O MDN fornece um exemplo (não mais disponível no artigo mencionado acima) de como obter o valor de uma única chave disponível no QueryString. Algo assim:
function getQueryStringValue (key) {
return decodeURIComponent(window.location.search.replace(new RegExp("^(?:.*[&\\?]" + encodeURIComponent(key).replace(/[\.\+\*]/g, "\\$&") + "(?:\\=([^&]*))?)?.*$", "i"), "$1"));
}
// Would write the value of the QueryString-variable called name to the console
console.log(getQueryStringValue("name"));
Em navegadores modernos
Em navegadores modernos, você tem a searchParams
propriedade da interface URL, que retorna um objeto URLSearchParams . O objeto retornado possui vários métodos convenientes, incluindo um get-method. Portanto, o equivalente ao exemplo acima seria:
let params = (new URL(document.location)).searchParams;
let name = params.get("name");
A interface URLSearchParams também pode ser usada para analisar strings em um formato de querystring e transformá-los em um objeto URLSearchParams útil.
let paramsString = "name=foo&age=1337"
let searchParams = new URLSearchParams(paramsString);
searchParams.has("name") === true; // true
searchParams.get("age") === "1337"; // true
Observe que o suporte do navegador ainda é limitado nesta interface, portanto, se você precisar oferecer suporte a navegadores legados, continue com o primeiro exemplo ou use um polyfill .