---
title: URLSearchParams
slug: Web/API/URLSearchParams
tags:
  - API
  - Experimentell
  - Interface
  - Referenz
  - URL API
translation_of: Web/API/URLSearchParams
---
<p>{{ApiRef("URL API")}}</p>

<p>Das <strong><code>URLSearchParams</code></strong> Interface definiert Hilfsmethoden um mit dem Query-String einer URL zu arbeiten.</p>

<p>Ein Objekt, welches <code>URLSearchParams</code> implementiert, kann auch direkt in einem {{jsxref("Statements/for...of", "for...of")}} Konstrukt genutzt werden, anstatt {{domxref('URLSearchParams.entries()', 'entries()')}}: <code>for (var p of mySearchParams)</code> ist äquivalent zu <code>for (var p of mySearchParams.entries())</code>.</p>

<h2 id="Konstruktor">Konstruktor</h2>

<dl>
 <dt>{{domxref("URLSearchParams.URLSearchParams", 'URLSearchParams()')}}</dt>
 <dd>Konstruktor erzeugt ein <code>URLSearchParams</code> Objekt von einem Query-String.</dd>
</dl>

<h2 id="Eigenschaften">Eigenschaften</h2>

<p><em>Dieses Interface erbt keine Eigenschaften.</em></p>

<h2 id="Methoden">Methoden</h2>

<p><em>Dieses Interface erbt keine Methoden.</em></p>

<dl>
 <dt>{{domxref("URLSearchParams.append()")}}</dt>
 <dd>Hängt ein Schlüssel/Wert - Paar an den Query-String.</dd>
 <dt>{{domxref("URLSearchParams.delete()")}}</dt>
 <dd>Löscht einen Schlüssel und den zugehörigen Wert aus dem Query-String.</dd>
 <dt>{{domxref("URLSearchParams.entries()")}}</dt>
 <dd>Gibt einen {{jsxref("Iteration_protocols","Iterator")}} über alle Schlüssel/Wert - Paare im Query-String.</dd>
 <dt>{{domxref("URLSearchParams.get()")}}</dt>
 <dd>Gibt den ersten Wert, der im Query-String mit einem Schlüssel assoziiert ist.</dd>
 <dt>{{domxref("URLSearchParams.getAll()")}}</dt>
 <dd>Gibt alle Werte, die im Query-String mit einem Schlüssel assoziiert sind.</dd>
 <dt>{{domxref("URLSearchParams.has()")}}</dt>
 <dd>Gibt einen {{jsxref("Boolean")}}, der anzeigt ob ein Schlüssel im Query-String vorkommt.</dd>
 <dt>{{domxref("URLSearchParams.keys()")}}</dt>
 <dd>Gibt einen {{jsxref("Iteration_protocols", "Iterator")}} über alle Schlüssel im Query-String.</dd>
 <dt>{{domxref("URLSearchParams.set()")}}</dt>
 <dd>Setzt den Wert eines Schlüssels. Wenn der Schlüssel mehrfach im Query-String vorkommt, werden die Restlichen gelöscht.</dd>
 <dt>{{domxref("URLSearchParams.sort()")}}</dt>
 <dd>Sortiert alle Schlüssel/Wert Paare, nach dem Schlüssel.</dd>
 <dd>Sorts all key/value pairs, if any, by their keys.</dd>
 <dt>{{domxref("URLSearchParams.toString()")}}</dt>
 <dd>Gibt den Query-String, in der passenden Form um in einer URL einzusetzen.</dd>
 <dt>{{domxref("URLSearchParams.values()")}}</dt>
 <dd>Gibt einen {{jsxref("Iteration_protocols", "Iterator")}} über alle Werte im Query-String.</dd>
</dl>

<h2 id="Beispiel">Beispiel</h2>

<pre class="brush: js">var paramsString = "q=URLUtils.searchParams&amp;topic=api"
var searchParams = new URLSearchParams(paramsString);

//Iteriert über die Suchparameter
for (let p of searchParams) {
  console.log(p);
}

searchParams.has("topic") === true; // true
searchParams.get("topic") === "api"; // true
searchParams.getAll("topic"); // ["api"]
searchParams.get("foo") === null; // true
searchParams.append("topic", "webdev");
searchParams.toString(); // "q=URLUtils.searchParams&amp;topic=api&amp;topic=webdev"
searchParams.set("topic", "More webdev");
searchParams.toString(); // "q=URLUtils.searchParams&amp;topic=More+webdev"
searchParams.delete("topic");
searchParams.toString(); // "q=URLUtils.searchParams"
</pre>

<h2 id="Spezifikationen">Spezifikationen</h2>

<table class="standard-table">
 <thead>
  <tr>
   <th scope="col">Spezifikation</th>
   <th scope="col">Status</th>
   <th scope="col">Kommentar</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td>{{SpecName('URL', '#urlsearchparams', "URLSearchParams")}}</td>
   <td>{{Spec2('URL')}}</td>
   <td>Initial definition.</td>
  </tr>
 </tbody>
</table>

<h2 id="Browser_Kompatibilität">Browser Kompatibilität</h2>

<p>{{ CompatibilityTable() }}</p>

<div id="compat-desktop">
<table class="compat-table">
 <tbody>
  <tr>
   <th>Feature</th>
   <th>Chrome</th>
   <th>Firefox (Gecko)</th>
   <th>Internet Explorer</th>
   <th>Opera</th>
   <th>Safari</th>
  </tr>
  <tr>
   <td>Basic support</td>
   <td>{{CompatChrome(49)}}</td>
   <td>{{CompatGeckoDesktop("29.0")}}</td>
   <td>{{CompatNo}}</td>
   <td>36</td>
   <td>10.1</td>
  </tr>
  <tr>
   <td><code>entries()</code>, <code>keys()</code>, <code>values()</code>, and support of <code>for...of</code></td>
   <td>{{CompatChrome(49)}}</td>
   <td>{{CompatGeckoDesktop("44.0")}}</td>
   <td>{{CompatNo}}</td>
   <td>36</td>
   <td>{{CompatUnknown}}</td>
  </tr>
  <tr>
   <td><code>USVString</code> for constructor <code>init</code> object</td>
   <td>{{CompatVersionUnknown}}</td>
   <td>{{CompatGeckoDesktop("53.0")}}</td>
   <td>{{CompatNo}}</td>
   <td>{{CompatVersionUnknown}}</td>
   <td>{{CompatUnknown}}</td>
  </tr>
  <tr>
   <td>Record for constructor <code>init</code> object</td>
   <td>{{CompatNo}}</td>
   <td>{{CompatGeckoDesktop("54.0")}}</td>
   <td>{{CompatNo}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
  </tr>
 </tbody>
</table>
</div>

<div id="compat-mobile">
<table class="compat-table">
 <tbody>
  <tr>
   <th>Feature</th>
   <th>Android Webview</th>
   <th>Chrome for Android</th>
   <th>Firefox Mobile (Gecko)</th>
   <th>IE Mobile</th>
   <th>Opera Mobile</th>
   <th>Safari Mobile</th>
  </tr>
  <tr>
   <td>Basic support</td>
   <td>{{CompatChrome(49)}}</td>
   <td>{{CompatChrome(49)}}</td>
   <td>{{CompatGeckoMobile("29.0")}}</td>
   <td>{{CompatNo}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatNo}}</td>
  </tr>
  <tr>
   <td><code>entries()</code>, <code>keys()</code>, <code>values()</code>, and support of <code>for...of</code></td>
   <td>{{CompatChrome(49)}}</td>
   <td>{{CompatChrome(49)}}</td>
   <td>{{CompatGeckoMobile("44.0")}}</td>
   <td>{{CompatNo}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatNo}}</td>
  </tr>
  <tr>
   <td><code>USVString</code> for constructor <code>init</code> object</td>
   <td>{{CompatVersionUnknown}}</td>
   <td>{{CompatVersionUnknown}}</td>
   <td>{{CompatGeckoMobile("53.0")}}</td>
   <td>{{CompatNo}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
  </tr>
  <tr>
   <td>Record for constructor <code>init</code> object</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatGeckoMobile("54.0")}}</td>
   <td>{{CompatNo}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
  </tr>
 </tbody>
</table>
</div>

<h2 id="Verweise">Verweise</h2>

<ul>
 <li>Andere URL-bezogene Interfaces: {{domxref("URL")}}, {{domxref("URLUtils")}}.</li>
 <li><a href="https://developers.google.com/web/updates/2016/01/urlsearchparams?hl=en">Google Developers: Easy URL manipulation with URLSearchParams</a></li>
</ul>

<dl>
</dl>