URLSearchParams()
URLSearchParams()
构造函数创建并返回一个新的 URLSearchParams
对象。
备注: 此特性在 Web Worker 中可用
语法
js
new URLSearchParams()
new URLSearchParams(options)
参数
返回值
一个 URLSearchParams
实例。
示例
下面的例子展示了用各种传入的参数来创建一个 URLSearchParams
对象。
js
// Pass in a string literal
var url = new URL("https://example.com?foo=1&bar=2");
// Retrieve from window.location
var url2 = new URL(window.location);
// Retrieve params via url.search, passed into ctor
var params = new URLSearchParams(url.search);
var params2 = new URLSearchParams(url2.search);
// Pass in a sequence
var params3 = new URLSearchParams([
["foo", 1],
["bar", 2],
]);
// Pass in a record
var params4 = new URLSearchParams({ foo: 1, bar: 2 });
这个示例展示了如何使用来自一个带有查询参数(search parameter)的 URL 构建的查询参数对象创建一个新的 URL。
js
const url = new URL("https://example.com/?a=hello&b=world");
console.log(url.href);
// https://example.com/?a=hello&b=world
console.log(url.origin);
// https://example.com
const add_params = {
c: "a",
d: new String(2),
e: false.toString(),
};
const new_params = new URLSearchParams([
...Array.from(url.searchParams.entries()), // [["a","hello"],["b","world"]]
...Object.entries(add_params), // [["c","a"],["d","2"],["e","false"]]
]).toString();
console.log(new_params);
// a=hello&b=world&c=a&d=2&e=false
const new_url = new URL(`${url.origin}${url.pathname}?${new_params}`);
console.log(new_url.href);
// https://example.com/?a=hello&b=world&c=a&d=2&e=false
// Here it is as a function that accepts (URL, Record<string, string>)
const addSearchParams = (url, params = {}) =>
new URL(
`${url.origin}${url.pathname}?${new URLSearchParams([
...Array.from(url.searchParams.entries()),
...Object.entries(params),
])}`,
);
规范
Specification |
---|
URL Standard # dom-urlsearchparams-urlsearchparams |
浏览器兼容性
BCD tables only load in the browser