URL: search 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 search-Eigenschaft des URL-Interfaces ist eine Suchzeichenfolge, auch Abfragezeichenfolge (query string) genannt. Sie besteht aus einer Zeichenkette, die ein "?" gefolgt von den Parametern der URL enthält. Falls die URL keine Suchabfrage enthält, gibt diese Eigenschaft einen leeren String, "", zurück.

Diese Eigenschaft kann gesetzt werden, um die Abfragezeichenfolge der URL zu ändern. Beim Setzen wird ein einzelnes "?"-Präfix zur bereitgestellten Zeichenkette hinzugefügt, falls es nicht bereits vorhanden ist. Wenn sie auf "" gesetzt wird, wird die Abfragezeichenfolge entfernt.

Die Abfrage wird prozentcodiert, wenn sie gesetzt wird, aber nicht prozentdecodiert, wenn sie gelesen wird.

Moderne Browser bieten die URL.searchParams-Eigenschaft, um das Parsen der Parameter aus der Abfragezeichenfolge zu erleichtern.

Wert

Ein String.

Beispiele

Grundlegende Nutzung

js
const url = new URL(
  "https://developer.mozilla.org/en-US/docs/Web/API/URL/search?q=123",
);
console.log(url.search); // Logs "?q=123"

Interaktion mit searchParams

Die URL.searchParams-Eigenschaft stellt die search-Zeichenfolge als ein URLSearchParams-Objekt dar. Wenn dieses URLSearchParams aktualisiert wird, wird die search-Eigenschaft der URL entsprechend ihrer Serialisierung aktualisiert. Allerdings kodiert URL.search eine Teilmenge von Zeichen, die URLSearchParams kodiert, und kodiert Leerzeichen als %20 statt als +. Dies kann zu unerwarteten Interaktionen führen—wenn Sie searchParams aktualisieren, selbst mit den gleichen Werten, könnte 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-search

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch

  • Das URL-Interface, zu dem es gehört.