Axios 404 错误,两个不同的本地主机

Axios 404 error, two different localhosts

我是 运行 localhost:3000 上的服务器,我的 React 应用程序在 localhost:8080 上。我查看了其他 Stack Overflow 问题,似乎设置完整 url 有效,但我的情况并非如此。

sever.js

const sendAxie = require("./sendAxie");

const express = require("express");
const path = require("path");
const cors = require("cors");

const app = express();
const publicPath = path.join(__dirname, "..", "public");

app.use(cors());
app.use(express.static(publicPath));

app.post("/send-axie", (req, res) => {
  // console.log(req.body);
  console.log("in send-axie");
});

const PORT = process.env.PORT || 3000;

app.listen(PORT, () => {
  console.log("Server is up on " + PORT);
});

app.js

axios
  .put("http://localhost:3000/send-axie", { axieID })
  .then((response) => {
    console.log(response);
  })
  .catch((err) => {
    console.log("in catch");
    console.log(err);
  });

控制台:

PUT http://localhost:3000/send-axie 404 (Not Found)
Error: Request failed with status code 404
    at createError (createError.js:16)
    at settle (settle.js:17)
    at XMLHttpRequest.onloadend (xhr.js:66)

据我了解,您提出了 PUT 请求,但仅在您的路线中 POST。你需要添加这个

app.put("/send-axie", (req, res) => {
  // console.log(req.body);
  console.log("in send-axie");
});

在您的快递应用中,您已经写了一个post api。在 React 中,您正在调用 put api。将其更改为 post