URLSearchParams 接口

转载自  URLSearchParams 接口

URLSearchParams 接口定义了很多个用来处理 URL 参数串的方法。


基本使用方法如下

var paramsString = "q=URLUtils.searchParams&topic=api"  // location.search.slice(1)
var searchParams = new URLSearchParams(paramsString);

searchParams.has('topic') // true
searchParams.get('topic') // "api"
searchParams.getAll('topic') // ["api"]

searchParams.get('foo') // null,注意Firefox返回空字符串
searchParams.set('foo', 2);
searchParams.get('foo') // 2

searchParams.append('topic', 'webdev');
searchParams.toString() // "q=URLUtils.searchParams&topic=api&foo=2&topic=webdev"

searchParams.append('foo', 3);
searchParams.getAll('foo') // [2, 3]

searchParams.delete('topic');
searchParams.toString() // "q=URLUtils.searchParams&foo=2&foo=3"

URLSearchParams 还有三个方法返回迭代器对象:
keys() 遍历所有参数名
values() 遍历所有参数值
entries() 遍历所有参数的键值对


URLSearchParams实例可以当作POST数据发送,所有数据都会URL编码。

fetch('https://example.com/api', {
  method: 'POST',
  body: params
}).then(...)

DOM 的 a 元素节点的 searchParams 属性,就是一个 URLSearchParams 实例。

var a = document.createElement('a');
a.href = 'https://example.com?filter=api';
a.searchParams.get('filter') // "api"

URLSearchParams 还可以与 URL 接口结合使用。

var url = new URL(location);
var foo = url.searchParams.get('foo') || 'somedefault';

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值