为什么我的 React 应用无法获取我的 Express API?

问题描述

我在 Node 和 Express 中创建了一个服务器,当我从 Postman 或浏览器发出请求时,一切运行顺利。

但是,当我尝试获取时出现以下错误

main.chunk.js:35 GET http://localhost:5000/api/users 400 (Bad Request)

我已经尝试将 cors 添加到我的所有路由中,但是问题是相同的

这是我的服务器代码

require("dotenv").config();
require("./database");

const express = require("express");
const morgan = require("morgan");
const cors = require('cors');
const helmet = require("helmet");

// inits
const app = express();

// settings
app.set('port',process.env.PORT || 4000);

// middlewares
app.use(cors());
app.use(helmet());
app.use(morgan('dev'));
app.use(express.urlencoded({extended: false}));
app.use(express.json()); // to req and res json files through an API

// routes
app.use(require("./routes"));
app.use("/api/transactions",require("./routes/transactions.routes"));
app.use("/api/auth",require("./routes/auth.routes"));
app.use("/api/users",require("./routes/users.routes"));

// starting the server
app.listen(app.get('port'),() => {
    console.log(`Server listening on port: ${app.get('port')}`);
});

这是我在 React 中使用钩子获取代码

useEffect(() => {
        const fetchData = async () => {
            //let url = "https://jopy.herokuapp.com/api/users";
            let url = "http://localhost:5000/api/users";

            try {
                const data = await fetch(url);
                console.log(data);
            } catch (error) {
                console.log(error);
            }
        };

        fetchData();
    },[]);

你有什么想法吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)