You need to enable JavaScript to run this app. NodeJS/ExpressJS中GET请求如何正确获取URL地址中的查询参数
优惠活动
大模型
产品
解决方案
定价
更多

NodeJS/ExpressJS中GET请求如何正确获取URL地址中的查询参数

问题原因
  • GET请求的查询参数(即URL中?后拼接的参数)不会被挂载到req.body对象,req.body仅用于接收POST、PUT等请求携带的请求体数据,GET请求默认不存在请求体
  • Express框架会自动解析GET请求的查询参数,挂载到req.query对象下
  • 你当前的代码末尾缺失路由回调的闭合右括号,存在语法错误,会直接触发运行报错
正确实现

不需要额外引入中间件,直接从req.query中读取对应参数即可:

// url = "/getDocs?num=15" 
router.get("/getDocs", function(req,res,next){
    console.log(req.query.num); // 输出结果为 15
    res.redirect("/documents");
});
补充说明
  • 如果你需要读取路由路径中的动态参数,例如路由定义为/getDocs/:docId,请求路径为/getDocs/456,则需要从req.params.docId中取值
  • 后续处理POST请求时如果需要读取req.body,需要提前配置对应的请求体解析中间件,例如JSON格式用express.json(),表单格式用express.urlencoded({extended: true})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 12:54:02