You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在链接中传递多个参数并在服务器端正确获取?

解决URL多参数传递与服务器端解析问题

你的问题出在URL参数的拼接格式错误上——URL里只能有一个?作为参数列表的起始标记,多个参数之间需要用&来分隔,而不是重复用?或者用+拼接。

正确的链接写法

把你的代码改成这样:

<a href="?page={{ page }}&filter={{ data.sort }}">{{ page }}</a>

为什么原来的写法不行?

你之前用了?page={{ page }}+?filter={{data.sort}},这里的+?filter会被浏览器当成page参数值的一部分,所以服务器端解析时,page的值就变成了2 ?filter=price-high,而不是单独的2。

多参数的扩展写法

如果需要传递更多参数,只需要继续用&连接即可,比如:

<a href="?page={{ page }}&filter={{ data.sort }}&limit={{ limit }}">{{ page }}</a>

生成的URL会是/products?page=2&filter=price-high&limit=10,服务器端的req.query会自动解析成:

{ page: '2', filter: 'price-high', limit: '10' }

服务器端获取参数

用Express框架的话,req.query会自动帮你解析URL中的查询参数,直接访问对应的键名就能拿到值,比如:

const page = req.query.page;
const filter = req.query.filter;
// 或者直接解构
const { page, filter } = req.query;

这样就能得到你想要的包含多个参数的对象了。

内容的提问来源于stack exchange,提问作者Juozas Rastenis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:20:05