为什么我的 GET 请求不起作用? - CORS + Express + Fetch API

Why is my GET request not working? - CORS + Express + FetchAPI

我正在尝试 运行 从我的客户端 vanilla JS 向我的 ExpressJS 服务器发送一个简单的 GET 请求 - 我的客户端 运行 在端口 80 上的 nginx 静态服务器上,而我的Express 服务器 运行ning 在端口 3000 上的 nodejs 上。

我不断收到 chrome 错误消息:

GET http://localhost:3000/ net::ERR_CONNECTION_REFUSED

客户端JS:

async function ping() {
    const response = await fetch('http://localhost:3000');
    return response;
}

服务器端 JS:

const express = require('express');
const cors = require('cors');

const app = express();
const port = 3000;

app.use(express.json);
app.use(cors());

app.get('/', (req, res) => {
    res.send('Hello world!');
});

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

如果有人能帮我解决这个问题,我将不胜感激,在此先感谢您!

我已将您的服务器代码复制到 server.js 文件并将 app.use(express.json) 更改为 app.use(express.json()) 或完全删除它,打开 http://localhost:3000/ 我得到了

所以你的代码中唯一的问题是我提到的那一行,顺便说一句,当我复制你的确切代码时,我最终遇到了超时,而不是连接被拒绝。

我意识到是我的网络设置问题而不是我的代码问题,很抱歉发布了一个无用的问题。