URLSearchParams 接口
URLSearchParams 接口指定用于处理 URL 查询字符串的实用方法。
URLSearchParams 建议对 URL 的各个部分使用一致的接口,并允许对查询字符串(“?”之后的内容)进行操作。
URL 参数或者查询字符串参数用于通过 URL 从客户端向服务器发送一条数据。
它们可以包含诸如搜索查询、链接推荐、用户偏好等信息。
URLSearchParams 接口可以更容易地获取 URL 的参数。
它提供了处理 URL 查询字符串的方法。
让我们通过 window.location.search 获取“https://example.com/?product=troussers&color=black&newuser&size=s” URL 的查询字符串:
const queryString = window.location.search; console.log(queryString); //?product=troussers&color=black&newuser&size=s
要解析查询字符串的参数,请使用 URLSearchParams:
const urlParams = new URLSearchParams(queryString);
URLSearchParams.get() 方法返回与给定搜索参数关联的第一个值:
<!DOCTYPE html>
<html>
<head>
<title>文档的标题</title>
</head>
<body>
<script>
const urlParams = new URLSearchParams("https://example.com/?product=troussers&color=black&newuser&size=s");
const size = urlParams.get('size');
alert(size);
//s
const color = urlParams.get('color')
alert(color);
//black
const newUser = urlParams.get('newuser')
alert(newUser);
//empty string
</script>
</body>
</html>
如果要检查给定参数是否存在,请使用: URLSearchParams.has():
<!DOCTYPE html>
<html>
<head>
<title>文档的标题</title>
</head>
<body>
<script>
const urlParams = new URLSearchParams("https://example.com/?product=troussers&color=black&newuser&size=s");
alert(urlParams.has('size'));
//true
alert(urlParams.has('paymentmethod'));
//false
</script>
</body>
</html>
URLSearchParams.getAll() 方法返回与某个参数关联的所有值:
<!DOCTYPE html>
<html>
<head>
<title>文档的标题</title>
</head>
<body>
<script>
const urlParams = new URLSearchParams("https://example.com/?product=troussers&color=black&newuser&size=s");
alert(urlParams.getAll('color'));
//[ 'black' ]
//Programmatically add a second color parameter.
urlParams.append('color', 'pink');
alert(urlParams.getAll('color'));
//[ 'black', 'pink' ]
</script>
</body>
</html>
日期:2020-06-02 22:16:21 来源:oir作者:oir
