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

js
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.

js
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&param=my%20param");
console.log(url2.search); // "?search=1234&param=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