手写 ?a=1&b=hello world 这种查询参数,遇到空格、中文、特殊符号时很容易漏掉编码。Node 自带的 URLSearchParams 可以先顶上,不用额外装包。
环境:Node.js 18+。可以建个文件 params-demo.mjs:
const params = new URLSearchParams()
params.set('q', 'hello world')
params.set('tag', '开发')
params.set('page', String(2))
const url = `https://example.com/search?${params.toString()}`
console.log(url)
跑一下:
node params-demo.mjs
大概会看到:
https://example.com/search?q=hello+world&tag=%E5%BC%80%E5%8F%91&page=2
这个适合脚本里临时拼接口地址,或者调试 webhook、搜索页参数。参数多一点时,比自己一路 & 拼下去少踩坑。