URLSearchParams 是一个js内建函数,它提供了一种方便的方式来读取、设置和删除URL查询字符串中的参数。
创建URLSearchParams实例。
从字符串创建
你可以直接从一个查询字符串创建一个URLSearchParams实例。
let searchParams = new URLSearchParams('search=javascript&sort=relevance')
从现有URL创建
或者,如果你有一个完整的URL,你可以提取查询字符串部分来创建。
let url = new URL('https://exx/search?query=javascript&mode=advanced');
let searchParams = new URLSearchParams(url.search)
添加参数
使用append 方法向查询字符串添加参数
searchParams.append('page','2')
获取参数值
- 使用
get方法获取单个参数的值
let query = searchParams.get('search') // 返回javascript
- 使用getAll 获取同名所有参数的值(如果有多个)
let pages = searchParams.getAll('page') // 返回['2']
设置参数值
使用set方法设置或者更新参数值
searchParams.set('sort','date')
删除参数
使用delete方法删除指定参数
searchParams.delete('mode')
检查是否存在某个参数
使用has方法检查是否包含某个参数
let hasQuery = searchParams.has('search') // 返回true 或 false
更新整个查询字符串
使用toString方法得到新的查询字符串
let newQueryString = searchParams.toString();//返回 'search=javascript&page=2&sort=date'
替换或初始化参数
通过传递一个对象或初始参数字符串来替换现有的参数
searchParams = new URLSearchParams({filter:'active',limit:10})
这些是URLSearchParams的基本操作,它使得处理URL查询字符串变得更加简单和高效。