reactjs 404向我的本地服务器发送请求时出错

eyh26e7m  于 2023-10-17  发布在  React
关注(0)|答案(1)|浏览(90)

我试图发送一个POST请求到我的服务器,但我得到了404错误代码作为回报。
前端(Vite + React):

async function submitBtn () {
    var data={
      password:Password,
      login:Login
    }
    alert('Login: ' + Login + ' Password: ' + Password)
    const jsonData = JSON.stringify(data);
    const body = JSON.stringify({
      jsonData
    })
    const config = {
      "headers":{
        "Content-Type":"application/json"
      }
    }
    try{
      const response = await axios.post('http://localhost:5173/api/data', body, config)
      console.log(response)
    } catch(error){
      console.log(error)
    }
  }

后端(JavaScript):

const express = require("express");
const app = express();
const port = 5173;
app.use(express.json()); // Enable JSON parsing

app.post('/api/data', (req, res) => {
  console.log(req.body); // Log the received data
  res.status(200).json({ message: 'Data received successfully' });
});

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

我很确定我的服务器正在运行,但它根本不工作

vjhs03f7

vjhs03f71#

HTTP 404错误代码,也就是“Page not found”错误,表示服务器无法在给定的URL或路径中找到请求的内容。
在后端,您只使用app.get("/api/data", ...)处理“/API/data”的GET请求。服务器找不到一种方法来处理“/API/data”中的POST请求,因此您还需要使用app.post("/api/data", ...)
在你的例子中,我相信你只想处理“/API/data”的POST请求,所以后端代码应该是这样的:

app.post('/api/data', (req, res) => { // Change get to post
  console.log(req.body); // Log the received data
  res.status(200).json({ message: 'Data received successfully' });
});

相关问题