Express中GET请求表单输入值为空问题求助
解决GET请求下表单参数获取为空的问题
问题原因
- GET方法提交的表单参数会被附加到URL的查询字符串中,不会存入
req.body,你当前的路由代码错误地从req.body中读取name,所以得到空值。
修复方案
修改路由代码,从req.query中获取GET请求的参数:
router.get("/entry", async(req, res) => { const allEntries = await dailyUsage.find(); // 从查询字符串中获取name参数 const { name } = req.query; console.log(name); // 现在能正确输出用户输入的姓名 });
补充说明
如果后续需要改用POST方法提交表单,才需要从req.body获取参数,但要确保你的Express应用已配置解析URL编码表单的中间件:
// 在app.js中添加 app.use(express.urlencoded({ extended: true }));
内容的提问来源于stack exchange,提问作者John Johnson
相关产品推荐
相关产品推荐

