Rzucić okiem na artykuł MDN temat window.location
.
QueryString jest dostępny w window.location.search
.
Rozwiązanie, które działa również w starszych przeglądarkach
MDN zawiera przykład (już niedostępny w wyżej wymienionym artykule), jak uzyskać wartość pojedynczego klucza dostępnego w QueryString. Coś takiego:
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"));
W nowoczesnych przeglądarkach
W nowoczesnych przeglądarkach masz searchParams
właściwość interfejsu URL, która zwraca obiekt URLSearchParams . Zwrócony obiekt ma kilka wygodnych metod, w tym metodę get. Tak więc odpowiednikiem powyższego przykładu byłoby:
let params = (new URL(document.location)).searchParams;
let name = params.get("name");
URLSearchParams interfejs może być również używany do analizowania ciągów w formacie kwerendy i przekształcić je w poręcznej URLSearchParams obiektu.
let paramsString = "name=foo&age=1337"
let searchParams = new URLSearchParams(paramsString);
searchParams.has("name") === true; // true
searchParams.get("age") === "1337"; // true
Zwróć uwagę, że obsługa przeglądarek w tym interfejsie jest nadal ograniczona, więc jeśli potrzebujesz obsługi starszych przeglądarek, trzymaj się pierwszego przykładu lub użyj polyfill .