likes
comments
collection
share

URL读取和写入

作者站长头像
站长
· 阅读数 60

一个更清洁、更安全的解决方案是使用URL构造函数。

const url = new URL('https://example.com/api/v2/content')

url.searchParams.set('model', model)
url.searchParams.set('locale', locale)
url.searchParams.set('text', text)

const res = await fetch(url.toString())

这为我们解决了几件事:

  • 分隔符字符将始终正确(?对于第一个参数,&此后)。
  • 所有参数都会自动编码。
  • 当跨越多行进行长URL时,没有额外的空格字符的风险。

URL属性

URL实例支持在浏览器中已经存在的所有属性,例如window.location或锚元素,所有这些都可以读取和写入。

const url = new URL('https://example.com/blog?page=1');

url.protocol // https:
url.host     // example.com
url.pathname // /blog
url.search   // ?page=1
url.href     // https://example.com/blog?page=1
url.origin   // https://example.com
url.searchParams.get('page') // 1
...

searchParams.has(name)

检查搜索参数是否包含给定的名称。

url.searchParams.has('page') // true

searchParams.get(name)

获取给定参数的值。

searchParams.get(name) // '1'

searchParams.set(name, value)

设置参数的值。

url.searchParams.set('page', '1')

searchParams.delete(name)

删除参数。

url.searchParams.delete('page')
转载自:https://juejin.cn/post/7196698315835244600
评论
请登录