Javascript 来自ReactJs的Post请求

Javascript 来自ReactJs的Post请求,javascript,node.js,reactjs,Javascript,Node.js,Reactjs,我想使用ReactJs从前端接收post请求。api正在工作,我收到一个get请求,我的React组件也在工作。 这是我从React组件发出的post请求: function submitBtn() { return ( fetch("api", { method: "POST", headers : { 'Content-Type':'application/json', 'Accept':'application/json' }, body: JSO

我想使用ReactJs从前端接收post请求。api正在工作,我收到一个get请求,我的React组件也在工作。 这是我从React组件发出的post请求:

function submitBtn() {
    
return (
 fetch("api", {
  method: "POST",
  headers : { 
  'Content-Type':'application/json',
  'Accept':'application/json'
  },
  body: JSON.stringify('my data')
  }).then(res => {
  console.log("Request complete! response:", res);
   })
    )
     }
  return (
       <div>
            <input ref={nameRef} type='text' placeholder='name' name='firstName' />
            <input ref={lastnameRef} type='text' placeholder='last name' name='lastName' />
         <button onClick={submitBtn} type='submit'>Fetch</button>
      </div>
    )
    ...

函数submitBtn(){
返回(
获取(“api”{
方法:“张贴”,
标题:{
“内容类型”:“应用程序/json”,
“接受”:“应用程序/json”
},
body:JSON.stringify(“我的数据”)
})。然后(res=>{
log(“请求完成!响应:”,res);
})
)
}
返回(
取来
)

您的JSON不正确。发送fetch请求时,请求体必须是字符串化的JSON

函数submitBtn(){
返回(
获取(“api”{
方法:“张贴”,
标题:{
“内容类型”:“应用程序/json”,
“接受”:“应用程序/json”
},
正文:JSON.stringify({firstName:“toto”,lastName:“momo”})
})。然后(res=>{
log(“请求完成!响应:”,res);
})
)
}
返回(
取来
)

…请记住以下几点:

  • 正文数据应字符串化为
    “内容类型”:“application/json”
    使用获取

    body:JSON.stringify(对象)

  • res.json({username:req.body.firstName,lastname:req.body.lastname})将自动将状态设置为200,并结束
    req res
    循环。因此调用
    res.sendSatatus()
    将抛出错误,因为
    req res
    周期已经结束

  • 如果要使用数据手动设置状态,请使用

    res.status('statusCode').json(对象)


  • 我遇到了下一个错误:
    无法在发送到客户端后设置头文件
    app.post('/api',function(req,res){console.log(“获得了一个post请求”);res.send({username:req.body.firstName,lastname:req.body.lastname});您正在发送两次响应。试试上面的codeCool!!快乐编码!