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

Node.js/Axios调用出现ERR_CONNECTION_RESET错误求助

解决Axios请求ERR_CONNECTION_RESET问题

可能的原因及修复步骤

1. 调整服务端启动顺序

你的服务端代码中app.listen(port)写在了路由定义之前,虽然Express允许这种写法,但可能导致路由未完成注册就启动服务器。建议将app.listen移到所有路由和中间件定义之后,同时增加启动日志确认服务状态:

const express = require("express");
const app = express();
const cors = require("cors");
const mongoose = require("mongoose");
const bodyParser = require("body-parser");
const Reservations = require("./models/reservations");
require("dotenv").config();

app.use(cors());
app.use(express.json());
app.use(bodyParser.urlencoded({ extended: true }));

app.get('/test', (req, res) => {
  console.log('test')
  res.send('test ')
})

const port = 5000;
app.listen(port, () => {
  console.log(`Server running on port ${port}`);
});

2. 检查服务端是否正常运行

  • 启动服务后查看控制台是否有报错:比如代码中引入了mongoose但未做连接配置,可能导致服务启动后崩溃,需要补充数据库连接逻辑:
// 在app.listen前添加mongoose连接代码
mongoose.connect(process.env.MONGODB_URI)
  .then(() => console.log("MongoDB connected"))
  .catch(err => console.log(err));
  • 验证5000端口是否被监听:
    • Windows系统执行:netstat -ano | findstr :5000
    • macOS/Linux系统执行:lsof -i :5000
      如果端口未被占用,说明服务未正常启动,需排查服务端代码的语法或依赖错误。

3. 优化CORS配置

虽然你使用了app.use(cors()),但可以明确指定允许的请求源,避免潜在的跨域配置问题:

app.use(cors({
  origin: "http://localhost:3000" // 替换为你的React项目实际运行端口
}));

4. 客户端代理配置(可选)

如果你的React项目基于create-react-app搭建,可以在package.json中添加代理配置,简化请求路径同时规避跨域问题:

{
  "proxy": "http://localhost:5000"
}

之后客户端请求可简化为:

Axios.get("/test").then(() => {
  console.log("test");
}).catch((err) => {
  console.log(err)
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 21:11:28