【问题标题】:Unable to send payload data to the backend in Axios Express无法在 Axios Express 中将有效负载数据发送到后端
【发布时间】:2020-11-18 15:26:40
【问题描述】:

我尝试使用 axios 将数据从我的反应应用程序发送到我的节点服务器,但我后端的数据未定义 这是我在服务器上的代码,我想记录发送到服务器的数据

router.post("/register",(req,res) => {
console.log(req.query)
}

这是我在提交时触发的 axios 代码

onSubmit(e){
    e.preventDefault();
    var newUser = {
        name : this.state.name,
        email : this.state.email,
        password : this.state.password,
        password2 : this.state.password2
    };
    console.log(newUser);
    axios.post("/api/users/register",{
        headers: {"Access-Control-Allow-Origin": "*",
        'Content-Type': 'application/json'},
        params : newUser
    })
    .then(res => console.log(res))
    .catch(err => console.log(err));
}

在终端的后端,我得到一组空的花括号

【问题讨论】:

  • 你能在this.state obj 发送到后面之前发布它吗?你也试过req.body而不是query吗?
  • 使用body将数据发送到后端

标签: node.js express axios fetch-api


【解决方案1】:

通过req.body接收发布请求

发帖:req.body

获取:req.queryreq.params

  • 例如req.query

    /register?user=1234
    

    服务器端:

    router.get("/register", ...);   
    
    req.query.user // 1234
    
  • 例如req.params

    /register/1234
    

    服务器端:

    router.get("/register/:user", ...);
    
    req.params.user // 1234
    

您还需要一个用于解析传入正文的 POST 中间件。

app.use(express.json());

【讨论】:

    猜你喜欢
    • 2017-12-17
    • 1970-01-01
    • 2021-11-19
    • 1970-01-01
    • 1970-01-01
    • 2019-04-26
    • 1970-01-01
    • 2019-06-20
    • 1970-01-01
    相关资源
    最近更新 更多