我正在编写一个应用程序,当我启动服务器时,它运行良好,并连接到数据库。但是,当我从浏览器启动http://localhost:5000
时,它没有响应,则浏览器显示了一条消息:
localhost didn’t send any data.
ERR_EMPTY_RESPONSE
这是我的 app.js:
const express = require('express');
const app = express();
const cookieParser = require('cookie-parser');
const mongoose = require('mongoose');
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");
})
为什么服务器没有响应浏览器?
答案 0 :(得分:2)
答案 1 :(得分:1)
我有同样的问题,数据库已连接,但无法发送数据。看起来很奇怪,但对我有用。
添加具有新密码的新数据库用户,使用新的用户名和密码连接您的mongoodb this is the exact like to add new database user
这是我的数据库连接,可能也对您有帮助
mongoose.connect(DATABASE_URL, { useNewUrlParser: true,useUnifiedTopology: true })
const db = mongoose.connection
db.on('error', (error) => console.error(error))
db.once('open', () => console.log('connected to database'))
app.use(express.json())