javascript - 我收到错误 [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'})
}
})
});
解决方案
发生这种情况是因为您的代码多次调用 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'})
}
})
});
})
})
推荐阅读
- python - PyQt - 将组合框文本传递给变量
- docker - 群中的 Docker 卷
- postgresql - Postgres 外部数据包装器 (FDW) 的最大表/查询大小限制?
- java - 我正在学习多维数组并尝试用 for 将它们写出来。我找到了,但我不明白它是如何工作的
- prolog - 处理未绑定的变量和列表
- sql-server - 在 SQL Server 中允许使用希伯来语字符
- c++ - C++ 等价于 R 的 set.seed() 函数
- node.js - 'firebase' 不是内部或外部命令、可运行程序或批处理文件。在 Windows 命令提示符下
- mount - Udisk - 创建挂载点时出错,没有这样的文件或目录
- python - HoloViews DynamicMap 悬停工具不会随所选变量更新