Javascript 来自ReactJs的Post请求
我想使用ReactJs从前端接收post请求。api正在工作,我收到一个get请求,我的React组件也在工作。 这是我从React组件发出的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
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!!快乐编码!