在JavaScript中,向URL传递多个参数通常是通过查询字符串(query string)来实现的。查询字符串位于URL的问号(?)之后,由一系列的键值对组成,每对键值对之间使用&符号分隔。
key=value
。function buildUrlWithParams(baseUrl, params) {
const queryString = Object.keys(params)
.map(key => `${encodeURIComponent(key)}=${encodeURIComponent(params[key])}`)
.join('&');
return `${baseUrl}?${queryString}`;
}
const baseUrl = 'https://example.com/api';
const params = {
keyword: 'JavaScript',
page: 2,
sort: 'asc'
};
const url = buildUrlWithParams(baseUrl, params);
console.log(url); // 输出: https://example.com/api?keyword=JavaScript&page=2&sort=asc
function parseUrlParams(url) {
const queryString = url.split('?')[1];
if (!queryString) return {};
return queryString.split('&').reduce((params, pair) => {
const [key, value] = pair.split('=');
params[decodeURIComponent(key)] = decodeURIComponent(value);
return params;
}, {});
}
const url = 'https://example.com/api?keyword=JavaScript&page=2&sort=asc';
const params = parseUrlParams(url);
console.log(params); // 输出: { keyword: 'JavaScript', page: '2', sort: 'asc' }
encodeURIComponent
对参数值进行编码,使用decodeURIComponent
进行解码。通过以上方法和注意事项,可以有效地在JavaScript中处理URL传递多个参数的情况。
领取专属 10元无门槛券
手把手带您无忧上云