首页 > 解决方案 > 我收到错误 [ERR_HTTP_HEADERS_SENT]:当邮递员上的该命令发送到客户端后无法设置标头

问题描述

\Users\Abubakar\Desktop\Desktop Docs\Full Stack Web Devop Data\FPLatest\FinalFullstack\API\Routes\Signuproutes.js:109:13 at C:\Users\Abubakar\Desktop\Desktop Docs\Full Stack Web Devop Data\ FPLtest\FinalFullstack\node_modules\mongoose\lib\model.js:4876:16 在 C:\Users\Abubakar\Desktop\Desktop Docs\Full Stack Web Devop Data\FPLatest\FinalFullstack\node_modules\mongoose\lib\helpers\promiseOrCallback。 js:24:16 在 C:\Users\Abubakar\Desktop\Desktop Docs\Full Stack Web Devop Data\FPLatest\FinalFullstack\node_modules\mongoose\lib\model.js:4899:21 在模型。(C:\Users\Abubakar\Desktop\Desktop Docs\Full Stack Web Devop Data\FPLatest\FinalFullstack\node_modules\mongoose\lib\model.js:495:7) 在 C:\Users\Abubakar\Desktop\Desktop Docs\ Full Stack Web Devop Data\FPLatest\FinalFullstack\node_modules\kareem\index.js:315:21 at next (C:

   
  router.post('/Users',(req,res)=>{
    let newuser=new user( {

      name:req.body.name,
      email:req.body.email,
      password:req.body.password,
  });

    if(!req.body.name || !req.body.email || !req.body.password){

      res.json("Please fill the Credentials")
      return}
    user.findOne({name:req.body.name},(err,User)=>{

      if(User)
      {

          res.json("User Name Already Registered")
          return
      }

    })
  user.findOne({email:req.body.email},(err,User)=>{
    if(User)
    {
      res.send({msg:"Email Already Registered"})
      return
    }
  })
  newuser.save((err,user)=>
  {
      if (err) throw err
      else
      {
        res.send({msg:' User added in Database'})
      }
  })
  });

标签: javascriptnode.js

解决方案


发生这种情况是因为您的代码多次调用 res.send。看看这个问题

user.findOne({name:req.body.name},(err,User)=>{

  if(User)
  {

      res.json("User Name Already Registered")
      return //////////////// THIS RETURN STATEMENT DOES NOT EXIT THE MAIN FUNCTION
  }

})

你应该这样做:

user.findOne({name:req.body.name},(err,User)=>{

  if(User)
  {

      res.json("User Name Already Registered")
      return
  }

  user.findOne({email:req.body.email},(err,User)=>{
      if(User)
      {
          res.send({msg:"Email Already Registered"})
          return
      }

      newuser.save((err,user)=>
      {
          if (err) throw err
          else
          {
              res.send({msg:' User added in Database'})
          }
      })
     });
  })


})

推荐阅读