Jetez un œil à l' article de MDN sur window.location
.
La QueryString est disponible dans window.location.search
.
Solution qui fonctionne également dans les anciens navigateurs
MDN fournit un exemple (qui n'est plus disponible dans l'article référencé ci-dessus) sur la façon d'obtenir la valeur d'une clé unique disponible dans la QueryString. Quelque chose comme ça:
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"));
Dans les navigateurs modernes
Dans les navigateurs modernes, vous avez la searchParams
propriété de l'interface URL, qui renvoie un objet URLSearchParams . L'objet retourné a un certain nombre de méthodes pratiques, y compris une méthode get. Donc, l'équivalent de l'exemple ci-dessus serait:
let params = (new URL(document.location)).searchParams;
let name = params.get("name");
L' interface URLSearchParams peut également être utilisée pour analyser des chaînes dans un format de chaîne de requête et les transformer en un objet URLSearchParams pratique.
let paramsString = "name=foo&age=1337"
let searchParams = new URLSearchParams(paramsString);
searchParams.has("name") === true; // true
searchParams.get("age") === "1337"; // true
Notez que la prise en charge du navigateur est toujours limitée sur cette interface, donc si vous avez besoin de prendre en charge les anciens navigateurs, restez avec le premier exemple ou utilisez un polyfill .