向不同端口上的 Nodejs/Expressjs 服务器发出 Axios 请求

Making Axios request to Nodejs/Expressjs server on different port

我正在尝试使用 Axios 向我创建的 Nodejs/Expressjs 服务器发出 POST 请求。我一遍又一遍地尝试发出 POST 请求,但我得到的只是一个“网络错误”。我也试过 运行 服务器和 Axios 代码在我网络上的不同计算机上。

A​​xios 代码:

axios
  .post("http://localhost:8080/test", {
    first: "Testing"
  })
  .then(function (response) {
    console.log(response);
  })

  .catch(function (error) {
    console.error(error);
  });

ExpressJS 服务器代码:

const express = require("express");
const app = express();

const port = 8080

app.use(function(req, res, next) {
    res.header("Access-Control-Allow-origin", "*")
    res.setHeader('Access-Control-Allow-Methods', "GET, POST")
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept")
})
app.post("/test", function(req, res) {
    res.send("This works!")
})

app.listen(port, () => console.log("Listening on port 8080"));

CORS中间件有一个问题,需要调用下一个函数,

const express = require("express");
const app = express();

const port = 8080

app.use(function (req, res, next) {
    res.header("Access-Control-Allow-origin", "*")
    res.setHeader('Access-Control-Allow-Methods', "GET,POST,OPTIONS")
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept")
    next();
})
app.post("/test", function (req, res) {
    res.send("This works!")
})

app.listen(port, () => console.log("Listening on port 8080"));