在JavaScript中,URL查询(query)通常指的是URL中?
后面的部分,用于向服务器传递额外的参数。这些参数以键值对的形式出现,多个参数之间用&
分隔。
基础概念:
key=value
形式的参数组成。优势:
类型:
?id=123&name=John
。?id[]=1&id[]=2
表示数组[1, 2]
。qs
库。应用场景:
常见问题及解决方法:
URLSearchParams
接口(现代浏览器支持):const params = new URLSearchParams(window.location.search);
const id = params.get('id');
function getQueryParam(name) {
const regex = new RegExp('[?&]' + name + '=([^&#]*)', 'i');
const match = window.location.search.match(regex);
return match ? decodeURIComponent(match[1]) : null;
}
URLSearchParams
:const params = new URLSearchParams();
params.append('id', 123);
params.append('name', 'John');
const queryString = params.toString(); // "id=123&name=John"
const id = 123;
const name = 'John';
const queryString = `?id=${encodeURIComponent(id)}&name=${encodeURIComponent(name)}`;
qs
来解析:const qs = require('qs');
const queryString = '?id[]=1&id[]=2&name=John';
const params = qs.parse(queryString.slice(1)); // { id: [1, 2], name: 'John' }
注意事项:
领取专属 10元无门槛券
手把手带您无忧上云