当前位置: 首页 > 知识库问答 >
问题:

如何从react前端向node后端发出post请求?得到404

充子航
2023-03-14

我试图使一个简单的网站,用户可以张贴的东西学习平均堆栈。当我处理POST请求时,它将通过后端处理并输入到MongoDB服务器。React在端口3000上,服务器在5000上。我如何使请求从3000到5000?我的请求通过邮递员工作,但不使用Axios。我将代理添加到客户端package.json

我试过更改代理,添加CORS,更改每一条可能的路由。什么都不管用。

router.post('/api/req',(req,res)=>{
    const newPost = new Post({
        title: req.body.title,
        description: req.body.description
    })
    newPost.save().then(()=>{
        console.log('Item added to database!')
    });

})
axios({
      method: 'post',
      url: '/api/req',
      data: {
        title: this.state.title
      },
      validateStatus: (status) => {
        return true; 
      },
    }).catch(error => {
        console.log(error);
    }).then(response => {
        console.log(response);
    });

错误来自本地主机:3000/API/REQ,应该是代理端口5000。另外,实际的路由是routes/api/req.js。

共有1个答案

颜君浩
2023-03-14

您必须传递完整的URL:

axios({
      method: 'post',
      url: 'http://example.com:5000/api/req',
      data: {
        title: this.state.title
      },
      validateStatus: (status) => {
        return true; 
      },
    }).catch(error => {
        console.log(error);
    }).then(response => {
        console.log(response);
    });
 类似资料: