javascript 尝试将请求从react POST到nodeJS时出错

col17t5w  于 2022-10-30  发布在  Java
关注(0)|答案(1)|浏览(111)

我试图向我的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代码控制台日志:

iyr7buue

iyr7buue1#

找到我的问题了。我没有在server.js中输入app.use(express.json())

相关问题