--- title: URLSearchParams slug: Web/API/URLSearchParams translation_of: Web/API/URLSearchParams ---

{{ApiRef("URL API")}}

L’interface URLSearchParams définit des méthodes utilitaires pour travailler avec la chaîne de requête (les paramètres GET) d’une URL.

Un objet implémentant URLSearchParams peut être directement utilisé dans une structure {{jsxref("Statements/for...of", "for...of")}}, au lieu de {{domxref('URLSearchParams.entries()', 'entries()')}} : for (var p of mySearchParams) ou son équivalent for (var p of mySearchParams.entries()).

Constructeur

{{domxref("URLSearchParams.URLSearchParams", 'URLSearchParams()')}}
Constructeur renvoyant un objet URLSearchParams.

Propriétés

Cette interface n’hérite d’aucune propriété.

Méthodes

Cette interface n’hérite d’aucune méthode.

{{domxref("URLSearchParams.append()")}}
Ajoute une paire clé / valeur spécifiée en tant que nouveau paramètre de recherche.
{{domxref("URLSearchParams.delete()")}}
Supprime le paramètre de recherche donné et sa valeur associée de la liste de tous les paramètres de recherche.
{{domxref("URLSearchParams.entries()")}}
Retourne un {{jsxref("Iteration_protocols","iterator")}} permettant de parcourir toutes les paires clé / valeur contenues dans cet objet.
{{domxref("URLSearchParams.get()")}}
Retourne la première valeur associée au paramètre de recherche donné.
{{domxref("URLSearchParams.getAll()")}}
Retourne toutes les valeurs associées au paramètre de recherche donné.
{{domxref("URLSearchParams.has()")}}
Retourne un {{jsxref("Boolean")}} indiquant si un tel paramètre de recherche existe.
{{domxref("URLSearchParams.keys()")}}
Retourne un {{jsxref("Iteration_protocols", "iterator")}} permettant de parcourir toutes les clés des paires clé / valeur contenues dans cet objet.
{{domxref("URLSearchParams.set()")}}
Définit la valeur associée à un paramètre de recherche donné à la valeur donnée. S’il y avait plusieurs valeurs, les autres sont supprimées.
{{domxref("URLSearchParams.sort()")}}
Trie toutes les paires clé / valeur, s’il y en a, par leurs clés.
{{domxref("URLSearchParams.toString()")}}
Retourne une chaîne contenant une chaîne de requête pouvant être utilisée dans une URL.
{{domxref("URLSearchParams.values()")}}
Retourne un {{jsxref("Iteration_protocols", "iterator")}} permettant de parcourir toutes les valeurs des paires clé / valeur contenues dans cet objet.

Exemple

var paramsString = "q=URLUtils.searchParams&topic=api";
var searchParams = new URLSearchParams(paramsString);

// Itère sur les paramètres de recherche.
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&topic=api&topic=webdev"
searchParams.set("topic", "More webdev");
searchParams.toString(); // "q=URLUtils.searchParams&topic=More+webdev"
searchParams.delete("topic");
searchParams.toString(); // "q=URLUtils.searchParams"

Spécifications

Spécification Statut Commentaire
{{SpecName('URL', '#urlsearchparams', "URLSearchParams")}} {{Spec2('URL')}} Définition initiale.

Compatibilité des navigateurs

{{ CompatibilityTable() }}

Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari
Support de base {{CompatChrome(49)}} {{CompatGeckoDesktop("29.0")}}[1] {{CompatNo}} {{CompatOpera(36)}} 10.1
entries(), keys(), values(), et support de for...of {{CompatChrome(49)}} {{CompatGeckoDesktop("44.0")}} {{CompatNo}} {{CompatOpera(36)}} {{CompatUnknown}}
USVString comme argument init du constructeur {{CompatChrome(61)}} {{CompatGeckoDesktop("53.0")}} {{CompatNo}} {{CompatOpera(48)}} {{CompatUnknown}}
Objet littéral comme argument init du constructeur {{CompatChrome(61)}} {{CompatGeckoDesktop("54.0")}} {{CompatNo}} {{CompatOpera(48)}} {{CompatUnknown}}
sort() {{CompatChrome(61)}} {{CompatUnknown}} {{CompatNo}} {{CompatOpera(48)}} {{CompatUnknown}}
Fonctionnalité Android Webview Chrome pour Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Support de base {{CompatChrome(49)}} {{CompatChrome(49)}} {{CompatGeckoMobile("29.0")}}[1] {{CompatNo}} {{CompatOperaMobile(36)}} {{CompatNo}}
entries(), keys(), values(), et support de for...of {{CompatChrome(49)}} {{CompatChrome(49)}} {{CompatGeckoMobile("44.0")}} {{CompatNo}} {{CompatOperaMobile(36)}} {{CompatNo}}
USVString comme argument init du constructeur {{CompatChrome(61)}} {{CompatChrome(61)}} {{CompatGeckoMobile("53.0")}} {{CompatNo}} {{CompatOperaMobile(48)}} {{CompatUnknown}}
Objet littéral comme argument init du constructeur {{CompatChrome(61)}} {{CompatChrome(61)}} {{CompatGeckoMobile("54.0")}} {{CompatNo}} {{CompatOperaMobile(48)}} {{CompatUnknown}}
sort() {{CompatChrome(61)}} {{CompatChrome(61)}} {{CompatUnknown}} {{CompatNo}} {{CompatOperaMobile(48)}} {{CompatNo}}

[1] Firefox a un bug qui fait que les guillemets simples contenus dans les URLs sont échappés quand on y accède via les API d’URL ({{bug(1386683)}}). Cela a été corrigé à partir de Firefox 57.

Voir également