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

Node.js教程实践遇问题:访问/返回Cannot GET /而非Hello

问题分析与解决方案

核心问题

你遇到的Cannot GET /是因为你的代码里完全没有配置根路径/的GET请求处理逻辑,而且你写的res.send('Hello')是绑定在POST /notes这个接口上的——只有发送POST请求到/notes才会返回Hello,和你访问的根路径/完全是两个不同的路由。

具体解决方法

根据你的需求分两种情况处理:

情况1:想让访问GET /时返回Hello

直接在路由配置里添加根路径的GET路由即可,推荐修改app/routes/index.js:

const noteRoutes = require('./note_routes');
module.exports = function(app, db) {
  noteRoutes(app, db);
  // 新增根路径的GET请求处理
  app.get('/', (req, res) => {
    res.send('Hello');
  });
  // 其他路由组可以在这里添加
};

修改后重启你的Node服务,再访问http://localhost:3000/就能看到Hello了。

情况2:你其实是想测试/notes接口(教程预期的是这个)

浏览器地址栏默认发送的是GET请求,而你的/notes接口是POST方法,所以直接访问会报错。你需要用POST请求工具来测试:

  • 用curl命令:curl -X POST http://localhost:3000/notes
  • 用Postman、Insomnia等可视化工具发送POST请求到该地址

这样就能得到预期的Hello响应了。

额外检查点

  • 修改代码后一定要重启Node服务,Express不会自动检测代码变化并热重载(除非你用了nodemon这类工具)
  • 确认请求的方法(GET/POST)和路径完全匹配Express路由的配置,Express的路由是严格匹配这两个维度的

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:47:16