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

Node.js环境下从URL获取title值返回undefined问题如何解决

问题排查
  • req.query 用于获取URL后缀的查询参数(即?后拼接的键值对),你当前表单的action属性值为/payment,未携带任何查询参数,因此无法读取到title值。
  • 你提交的POST表单内没有定义name为title的字段,即使从请求体req.body取值也无法获取对应内容。
修复方案

方案1:将title作为查询参数拼接在action路径

修改前端表单代码,直接在action地址后拼接参数:

<form action="/payment?title=对应课程标题" method="post">
 <button type="submit" class="btn btn-primary">₹ 4500</button>
</form>

后端原有const title = req.query.title代码无需修改即可正常读取值。

方案2:将title作为表单字段传递

在表单内新增隐藏输入框存放title值:

<form action="/payment" method="post">
  <input type="hidden" name="title" value="对应课程标题">
  <button type="submit" class="btn btn-primary">₹ 4500</button>
</form>

需提前在Express项目中配置表单解析中间件(放在所有路由定义之前),否则req.body会返回undefined:

app.use(express.urlencoded({ extended: true }))

后端修改取值逻辑:

const title = req.body.title;

另外你代码中Payment.insertOne方法里course_Title字段尚未赋值,后续补全为course_Title: title即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 20:06:03