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

Node.js Express服务器路由问题排查:请求无控制台日志

问题分析与修复方案

核心问题拆解

  1. 中间件提前终止响应周期
    你的app.use("/dashboard", ...)中间件中,调用res.send(accounts)后,HTTP响应已被发送,后续的next()不会触发下一个路由处理函数。这直接导致POST请求的代码完全没有执行机会,自然看不到控制台日志。

  2. 路由参数正则语法错误
    Express中路由参数的正则需要包裹在括号内,正确写法是/:address(正则规则),而非/:address{6}。另外你发送的请求地址0x1234仅4位有效字符,不满足你预期的6位要求,即使路由写法正确也无法匹配。

  3. app.listen参数格式错误
    app.listen的参数顺序为(端口, 主机名, 回调函数),你传入的第三个参数650是无效值,会干扰服务器启动逻辑。

修复后的完整代码

const express = require("express");

const app = express();

const accounts = [];

// 修改中间件:移除提前发送响应的逻辑,仅做请求传递
app.use("/dashboard", function(req, res, next) {
  console.log("请求进入/dashboard路径");
  next();
});

// 修复路由参数正则,适配带0x前缀的6位地址
app.post("/dashboard/add-account/:address(0x[a-fA-F0-9]{6})", function(req, res) {
  accounts.push(req.params.address);
  console.info(accounts);
  res.send("账户添加成功");
});

app.put("/modify-account/:index([0-9]+)/:address(0x[a-fA-F0-9]{6})", function(req, res) {
  const index = parseInt(req.params.index);
  if (index >= 0 && index < accounts.length) {
    accounts[index] = req.params.address;
    res.send(accounts);
  } else {
    res.status(400).send("索引无效");
  }
});

app.delete("/dashboard/delete-account/:index([0-9]+)", function(req, res) {
  const index = parseInt(req.params.index);
  if (index >= 0 && index < accounts.length) {
    accounts.splice(index, 1); // 正确删除数组元素,而非设为空字符串
    console.info(accounts);
    res.send("账户删除成功");
  } else {
    res.status(400).send("索引无效");
  }
});

// 修复listen参数,移除无效的650
app.listen(3001, "127.0.0.1", () => {
  console.info("Server is ready ...");
});

关键修改说明

  • 中间件:去掉res.send,确保请求能传递到后续路由处理函数;
  • 路由正则:将参数规则放在括号内,同时调整正则匹配带0x前缀的6位地址(如0x123456);
  • 删除逻辑:用splice正确删除数组元素,避免数组残留空值;
  • 启动参数:移除无效的650,保证服务器正常启动。

测试验证

发送POST请求http://localhost:3001/dashboard/add-account/0x123456,此时控制台会输出添加后的accounts数组,问题解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 21:22:23