Eche un vistazo al artículo de MDN sobre window.location
.
QueryString está disponible en window.location.search
.
Solución que también funciona en navegadores heredados
MDN proporciona un ejemplo (ya no está disponible en el artículo mencionado anteriormente) de cómo obtener el valor de una sola clave disponible en QueryString. Algo como esto:
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"));
En navegadores modernos
En los navegadores modernos, tiene la searchParams
propiedad de la interfaz URL, que devuelve un objeto URLSearchParams . El objeto devuelto tiene varios métodos convenientes, incluido un método get. Entonces, el equivalente del ejemplo anterior sería:
let params = (new URL(document.location)).searchParams;
let name = params.get("name");
La interfaz URLSearchParams también se puede utilizar para analizar cadenas en un formato de cadena de consulta y convertirlas en un práctico objeto URLSearchParams.
let paramsString = "name=foo&age=1337"
let searchParams = new URLSearchParams(paramsString);
searchParams.has("name") === true; // true
searchParams.get("age") === "1337"; // true
Tenga en cuenta que la compatibilidad del navegador sigue siendo limitada en esta interfaz, por lo que si necesita admitir navegadores heredados, siga el primer ejemplo o use un polyfill .