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

ExpressJS本地服务器无响应:localhost未发送数据(ERR_EMPTY_RESPONSE)

问题分析与解决方案

让我仔细检查了你的代码,发现两个关键问题导致浏览器访问http://localhost:5000时返回空响应:

  • Cookie Parser中间件调用错误
    你写的app.use(cookieParser);是错误的用法,cookieParser是一个需要执行的函数(要加括号),这样才能返回Express可用的中间件函数。如果直接传函数本身,Express无法正确加载这个中间件,可能阻塞请求处理流程。

  • 根路由的语法错误
    你的app.get('/'路由定义最后缺少了闭合的括号),这会导致整个路由无法被Express正确注册。服务器根本不知道如何处理根路径的GET请求,所以浏览器会一直等待响应,直到超时返回ERR_EMPTY_RESPONSE。


修正后的完整代码

const express = require('express');
const app = express();
const cookieParser = require('cookie-parser');
const mongoose = require('mongoose');

// 修正:调用cookieParser函数
app.use(cookieParser());
app.use(express.json());

//const userRouter = require('./routes/user');
//app.use('/user', userRouter);

const startApp = async () => {
 try {
 await mongoose.connect('mongodb+srv://username:pass@cluster0-dcytp.mongodb.net/test?retryWrites=true&w=majority', { useUnifiedTopology: true,useNewUrlParser: true });
 console.log(`successfully connected to database`);
 const port = process.env.PORT || 5000
 app.listen(port, () => {
 console.log(`server runnin at ${port}`);
 });
 } catch (error) {
 console.log(error.message)
 }
}

startApp();

// 修正:添加闭合括号
app.get('/', (req, res) => {
 console.log("I am in the root");
 res.send("hello World");
});

修复这两个问题后,重启服务器,再访问http://localhost:5000应该就能正常收到"hello World"的响应了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 20:37:57