URI: Uniform ResourceIdentifiers即通用资源标识符。
有效的URI中不能包含某些字符(例如空格),URI编码方法就可以对URI进行编码(UTF-8编码), Global对象的encodeURI()和encodeURIComponent()方法可以对URI进行编码(encodeURI()不会对本身属于URI的特殊字符进行编码,例如冒号、正斜杠、问号和井字号,所以它主要用于整个URI,而encodeURIComponent()则会对它发现的任何非标准字符进行编码,主要用于对URI中的某一段进行编码);
URLSearchParams()
构造函数是浏览器提供的一个API
接口可以帮我们查询URL
字符串;URLSearchParams()
构造器创建并返回一个新的URLSearchParams
对象。开头的'?'
字符会被忽略;Object.entries()
获取对象的键名和键值,每一对键名和键值组成新的数组;Object.fromEntries()
方法使用二维数组形式创建对象,把键值对列表转换为一个对象,这个方法是和Object.entries()
相对的;decodeURIComponent()
函数可把字符串作为URI
组件进行解码;
const urlSearchParams = new URLSearchParams(window.location.search)
const params = Object.fromEntries(urlSearchParams.entries())
function getParams(url) {
const res = {}
if(url.includes('?')) {
const str = url.split('?')[1]
const arr = str.split('&')
arr.forEach(item => {
const key = item.split('=')[0]
const value = item.split('=')[1]
res[key] = decodeURIComponent(value)
})
}
return res
}
标签:编码,const,URLSearchParams,url,Object,URI,获取,参数
From: https://www.cnblogs.com/rain111/p/17250302.html