url.searchParams
获取表示网址查询参数的 URLSearchParams
对象。
此属性是只读的,但它提供的 URLSearchParams
对象可用于更改网址实例; 要替换网址的整个查询参数,则使用 url.search
设置器。
有关详细信息,请参阅 URLSearchParams
文档。
当使用 .searchParams
修改 URL
时要小心,因为根据 WHATWG 规范,URLSearchParams
对象使用不同的规则来确定要对哪些字符进行百分比编码。
例如,URL
对象不会对 ASCII 波浪号 (~
) 字符进行百分比编码,而 URLSearchParams
将始终对其进行编码:
const myUrl = new URL('https://example.org/abc?foo=~bar');
console.log(myUrl.search); // 打印 ?foo=~bar
// 通过 searchParams 修改网址...
myUrl.searchParams.sort();
console.log(myUrl.search); // 打印 ?foo=%7Ebar
Gets the URLSearchParams
object representing the query parameters of the
URL. This property is read-only but the URLSearchParams
object it provides
can be used to mutate the URL instance; to replace the entirety of query
parameters of the URL, use the url.search
setter. See
URLSearchParams
documentation for details.
Use care when using .searchParams
to modify the URL
because,
per the WHATWG specification, the URLSearchParams
object uses
different rules to determine which characters to percent-encode. For
instance, the URL
object will not percent encode the ASCII tilde (~
)
character, while URLSearchParams
will always encode it:
const myUrl = new URL('https://example.org/abc?foo=~bar');
console.log(myUrl.search); // prints ?foo=~bar
// Modify the URL via searchParams...
myUrl.searchParams.sort();
console.log(myUrl.search); // prints ?foo=%7Ebar