URL: searchParams-Eigenschaft
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die schreibgeschützte searchParams
-Eigenschaft der URL
-Schnittstelle gibt ein URLSearchParams
-Objekt zurück, das den Zugriff auf die dekodierten GET
-Abfrageargumente ermöglicht, die in der URL enthalten sind.
Wert
Ein URLSearchParams
-Objekt.
Beispiele
Grundlegende Verwendung
const params = new URL("https://example.com/?name=Jonathan%20Smith&age=18")
.searchParams;
const name = params.get("name");
const age = parseInt(params.get("age"));
console.log(`name: ${name}`); // name: Jonathan Smith
console.log(`age: ${age}`); // age: 18
Interaktion mit Suche
Die searchParams
-Eigenschaft stellt den URL.search
-String als ein URLSearchParams
-Objekt dar. Wenn dieses URLSearchParams
aktualisiert wird, wird die search
der URL mit ihrer Serialisierung aktualisiert. Allerdings kodiert URL.search
eine Teilmenge von Zeichen, die URLSearchParams
nicht kodiert, und kodiert Leerzeichen als %20
anstelle von +
. Dies kann zu einigen überraschenden Interaktionen führen—wenn Sie searchParams
aktualisieren, selbst mit denselben Werten, kann die URL unterschiedlich serialisiert werden.
const url = new URL("https://example.com/?a=b ~");
console.log(url.href); // "https://example.com/?a=b%20~"
console.log(url.searchParams.toString()); // "a=b+%7E"
// This should be a no-op, but it changes the URL's query to the
// serialization of its searchParams
url.searchParams.sort();
console.log(url.href); // "https://example.com/?a=b+%7E"
const url2 = new URL("https://example.com?search=1234¶m=my%20param");
console.log(url2.search); // "?search=1234¶m=my%20param"
url2.searchParams.delete("search");
console.log(url2.search); // "?param=my+param"
Spezifikationen
Specification |
---|
URL # dom-url-searchparams |
Browser-Kompatibilität
BCD tables only load in the browser