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

使用Node.js渲染页面时出现404错误,如何解决?

问题分析与解决

你遇到的404和req.params.name无法获取的问题,核心原因是路由没有定义参数占位符,导致动态路径无法被匹配。

问题根源

当前你的子路由只匹配/profile这个固定路径,但动态个人资料页需要匹配/profile/[用户名]这类带参数的路径。原路由里的router.get('/')不会捕获带参数的请求,所以访问/profile/xxx时会返回404,同时req.params.name也会是空值。

修复步骤

  1. 修改profile路由文件,将路由路径改为带参数占位符的/:name,这样Express才能解析URL中的用户名参数:
var express = require('express');
var router = express.Router();
var mongoose = require('mongoose');

/* GET profile home page. */
router.get('/:name', function(req, res, next) {
  res.render('profile', {name: req.params.name})
}); 

module.exports = router 
  1. 确认视图文件存在:确保profile对应的模板文件(比如profile.ejs或你使用的其他模板格式)放在Express配置的视图目录下(默认是项目根目录的views文件夹),避免渲染时找不到视图文件。

测试验证

修改完成后,访问类似http://localhost:3000/profile/你的用户名的路径,就能正确渲染个人资料页,且req.params.name会被正确传递到模板中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 21:45:37