The URLSearchParams interface defines utility methods to work with the query string of a URL.
An object implementing URLSearchParams can directly be used in a for...of structure, instead of entries(): for (var p of mySearchParams) is equivalent to for (var p of mySearchParams.entries()).
Constructor
URLSearchParams()- Constructor returning a
URLSearchParamsobject.
Properties
This interface doesn't inherit any properties.
Methods
This interface doesn't inherit any methods.
URLSearchParams.append()- Appends a specified key/value pair as a new search parameter.
URLSearchParams.delete()- Deletes the given search parameter, and its associated value, from the list of all search parameters.
URLSearchParams.entries()- Returns an
iteratorallowing to go through all key/value pairs contained in this object. URLSearchParams.get()- Returns the first value associated to the given search parameter.
URLSearchParams.getAll()- Returns all the values association with a given search parameter.
URLSearchParams.has()- Returns a
Booleanindicating if such a search parameter exists. URLSearchParams.keys()- Returns an
iteratorallowing to go through all keys of the key/value pairs contained in this object. URLSearchParams.set()- Sets the value associated to a given search parameter to the given value. If there were several values, delete the others.
URLSearchParams.sort()- Sorts all key/value pairs, if any, by their keys.
URLSearchParams.toString()- Returns a string containing a query string suitable for use in a URL.
URLSearchParams.values()- Returns an
iteratorallowing to go through all values of the key/value pairs contained in this object.
Example
var paramsString = "q=URLUtils.searchParams&topic=api"
var searchParams = new URLSearchParams(paramsString);
//Iterate the search parameters.
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"
Specifications
| Specification | Status | Comment |
|---|---|---|
| URL The definition of 'URLSearchParams' in that specification. |
Living Standard | Initial definition. |
Browser compatibility
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Basic support | 49 | 29.0 (29.0) | No support | 36 | 10.1 |
entries(), keys(), values(), and support of for...of |
49 | 44.0 (44.0) | No support | 36 | ? |
USVString for constructor init object |
(Yes) | 53.0 (53.0) | No support | (Yes) | ? |
Record for constructor init object |
No support | 54.0 (54.0) | No support | ? | ? |
| Feature | Android Webview | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Basic support | 49 | 49 | 29.0 (29.0) | No support | ? | No support |
entries(), keys(), values(), and support of for...of |
49 | 49 | 44.0 (44.0) | No support | ? | No support |
USVString for constructor init object |
(Yes) | (Yes) | 53.0 (53.0) | No support | ? | ? |
Record for constructor init object |
? | ? | 54.0 (54.0) | No support | ? | ? |
See also
- Other URL-related interfaces:
URL,URLUtils. - Google Developers: Easy URL manipulation with URLSearchParams
Document Tags and Contributors
Tags:
Contributors to this page:
HarrySarson,
NoInkling,
jpmedley,
stevenvachon,
sudowork,
chrisdavidmills,
David_Gilbertson,
teoli,
cuixiping,
Ms2ger,
Gheoan,
evilpie,
draco,
ebidel,
kscarfone,
Noitidart,
Jxck,
mnoorenberghe,
baku
Last updated by:
HarrySarson,