Express+Handlebars应用中无法POST到/products/create路由的问题
解决Express中POST /products/create返回404的问题
你的问题核心是路由定义的语法错误,直接导致请求路径不匹配:
看productRoutes.js里的POST路由代码:
router.post("/create,", ProductController.createProductPost);
路径字符串"/create,"末尾多了一个英文逗号,这会让Express注册的实际路由变为/products/create,(带逗号),但你的表单提交的目标路径是/products/create(无逗号),两者不匹配,自然返回404错误。
修复步骤:
- 修改
productRoutes.js中的POST路由,删掉路径里多余的逗号:
router.post("/create", ProductController.createProductPost);
- 重启Express服务,重新提交表单即可正常触发
createProductPost处理逻辑。
额外小提示:ProductController.js里的res.redirect("products");建议改为绝对路径res.redirect("/products");,避免后续路由层级调整时出现跳转异常。
内容的提问来源于stack exchange,提问作者igor-avel
相关产品推荐
相关产品推荐

