您的当前位置:首页正文

[ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client

2024-11-12 来源:个人技术集锦

这个问题是服务端向客户端发送了多次send,这样就会报错

我测试的时候的问题代码 这里我测试的时候故意进入了用户名被占用的if条件语句,后来发现后面不小心没有注释掉 res.send("reguser ok" ),就send了多次,所以,这里注意只能send一次,要注释掉 res.send("reguser ok" ).
   db.query(sqlStr,userinfo.username,(err,results)=>{
      //执行sql语句失败
      if(err){
      return res.send({status:1,message:err.message})
       
      }
      //判断用户名是否被占用
      if(results.length  > 0){
        return res.send({status:1 ,message:"用户名已被占用,请更换用户名!"})
      }
     //
    })
    res.send("reguser ok" )
  }
改正后
  db.query(sqlStr,userinfo.username,(err,results)=>{
      //执行sql语句失败
      if(err){
      return res.send({status:1,message:err.message})
       
      }
      //判断用户名是否被占用
      if(results.length  > 0){
        return res.send({status:1 ,message:"用户名已被占用,请更换用户名!"})
      }
     //
    })
    // res.send("reguser ok" )
  }

Top