我试图向我的mongodb集合发布一个新对象,该集合在我的后端服务器上处理,但是我的请求主体中的值没有传递给它。
我可以保证对象被创建。问题是所有对象值都是空的。
我也保证nodejs代码能正常工作。我做的第一件事就是用nodeJS创建一个web应用程序,然后从那个页面我可以正常地创建一个新对象。但是现在我用react创建一个前端页面,我不知道为什么我的前端页面的post请求不能正常工作
React代码:
const handleSubmit = async (event) => {
event.preventDefault();
const requestOptions = {
method: 'POST',
mode: 'cors',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
name:nome,
cnpj:cnpj,
email:email,
number:telefone,
seguradora:[seguradora],
index:765756
})
};
try{
const response = await fetch('http://localhost:3001/corretoras',requestOptions)
const data = await response.json()
console.log(data)
console.log(requestOptions.body)
}
catch(error){
console.log('error trying to post',error)
}
};
nodeJS代码:
router.post('/',async(req,res)=>{
const lastIndex = await Corretora.find().sort({index:-1}).limit(1).index
const corretora = new Corretora({
name:req.body.name,
cnpj: req.body.cnpj,
email:req.body.email,
number:req.body.number,
seguradora:req.body.seguradora,
index: lastIndex
})
try{
const novaCorretora = await corretora.save()
res.redirect('corretoras/'+novaCorretora.id)
}
catch{
renderNewPage(res,corretora,true)
}
})
来自React代码控制台日志:
1条答案
按热度按时间iyr7buue1#
找到我的问题了。我没有在server.js中输入app.use(express.json())