简体   繁体   English

events.js:292 throw er 出现错误; // 未处理的“错误”事件

[英]getting error as events.js:292 throw er; // Unhandled 'error' event

frontend code前端代码

axios.post("/register",{
        username,
        email,
        contactNumber,
        password,
        confirmPassword
    })
    .then(async (res)=>{
    //   if(response.message)
    //   {
    //       await alert(res.message);
    //   }
       console.log(res);
    })
    .catch((err)=>{
        alert(err);
    })
};

backend code后端代码

exports.userSignup=async(req,res)=>{
    try{
        await users.findOne({username:req.body.username})
        .exec((error,user)=>{
            
            if(user)  res.status(404).json({message:"username already exists"});
            if(error)  res.status(400).json({message:`something wrong! Error: ${error}`});
        })
        await users.findOne({email:req.body.email})
        .exec((error,user)=>{
            
            if(user)  res.status(402).json({message:"Email is already registered with user"});
            if(error) res.status(403).json({message:`something wrong! Error: ${error}`});
        })
       
        if(req.body.password!=req.body.confirmPassword)
        {
             res.status(405).json({message:"Passwords are not matching"})
        }


        const _user=new users({
            username:req.body.username,
            email:req.body.email,
            contactNumber:req.body.contactNumber,
            password:req.body.password
               
        })
        await _user.save((error,data)=>{
            if(error) res.status(404).json({ message:`Error ${error}`});
            if(data)
            {
                res.render('login');
            }
        })
    }catch(error){
         res.status(406).json({'message':error});
    }

};

error错误

events.js:292
      throw er; // Unhandled 'error' event
      ^

Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
    at ServerResponse.setHeader (_http_outgoing.js:558:11)
    at ServerResponse.header (C:\Users\ajayb\OneDrive\Desktop\savli - Copy\node_modules\express\lib\response.js:771:10)
    at ServerResponse.send (C:\Users\ajayb\OneDrive\Desktop\savli - Copy\node_modules\express\lib\response.js:170:12)
    at ServerResponse.json (C:\Users\ajayb\OneDrive\Desktop\savli - Copy\node_modules\express\lib\response.js:267:15)
    at C:\Users\ajayb\OneDrive\Desktop\savli - Copy\controllers\register.js:18:39
    at C:\Users\ajayb\OneDrive\Desktop\savli - Copy\node_modules\mongoose\lib\model.js:4857:16
    at C:\Users\ajayb\OneDrive\Desktop\savli - Copy\node_modules\mongoose\lib\helpers\promiseOrCallback.js:24:16
    at C:\Users\ajayb\OneDrive\Desktop\savli - Copy\node_modules\mongoose\lib\model.js:4880:21
    at C:\Users\ajayb\OneDrive\Desktop\savli - Copy\node_modules\mongoose\lib\query.js:4397:11
    at C:\Users\ajayb\OneDrive\Desktop\savli - Copy\node_modules\kareem\index.js:136:16
    at processTicksAndRejections (internal/process/task_queues.js:75:11)
Emitted 'error' event on Function instance at:
    at C:\Users\ajayb\OneDrive\Desktop\savli - Copy\node_modules\mongoose\lib\model.js:4859:13
    at C:\Users\ajayb\OneDrive\Desktop\savli - Copy\node_modules\mongoose\lib\helpers\promiseOrCallback.js:24:16
    [... lines matching original stack trace ...]
    at processTicksAndRejections (internal/process/task_queues.js:75:11) {
  code: 'ERR_HTTP_HEADERS_SENT'
}

please help请帮忙

Heading标题

frontend code前端代码

axios.post("/register",{
        username,
        email,
        contactNumber,
        password,
        confirmPassword
    })
    .then(async (res)=>{
    //   if(response.message)
    //   {
    //       await alert(res.message);
    //   }
       console.log(res);
    })
    .catch((err)=>{
        alert(err);
    })
};

backend code后端代码

exports.userSignup=async(req,res)=>{
    try{
        await users.findOne({username:req.body.username})
        .exec((error,user)=>{
            
            if(user)  res.status(404).json({message:"username already exists"});
            if(error)  res.status(400).json({message:`something wrong! Error: ${error}`});
        })
        await users.findOne({email:req.body.email})
        .exec((error,user)=>{
            
            if(user)  res.status(402).json({message:"Email is already registered with user"});
            if(error) res.status(403).json({message:`something wrong! Error: ${error}`});
        })
       
        if(req.body.password!=req.body.confirmPassword)
        {
             res.status(405).json({message:"Passwords are not matching"})
        }


        const _user=new users({
            username:req.body.username,
            email:req.body.email,
            contactNumber:req.body.contactNumber,
            password:req.body.password
               
        })
        await _user.save((error,data)=>{
            if(error) res.status(404).json({ message:`Error ${error}`});
            if(data)
            {
                res.render('login');
            }
        })
    }catch(error){
         res.status(406).json({'message':error});
    }

};

error错误

events.js:292
      throw er; // Unhandled 'error' event
      ^

Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
    at ServerResponse.setHeader (_http_outgoing.js:558:11)
    at ServerResponse.header (C:\Users\ajayb\OneDrive\Desktop\savli - Copy\node_modules\express\lib\response.js:771:10)
    at ServerResponse.send (C:\Users\ajayb\OneDrive\Desktop\savli - Copy\node_modules\express\lib\response.js:170:12)
    at ServerResponse.json (C:\Users\ajayb\OneDrive\Desktop\savli - Copy\node_modules\express\lib\response.js:267:15)
    at C:\Users\ajayb\OneDrive\Desktop\savli - Copy\controllers\register.js:18:39
    at C:\Users\ajayb\OneDrive\Desktop\savli - Copy\node_modules\mongoose\lib\model.js:4857:16
    at C:\Users\ajayb\OneDrive\Desktop\savli - Copy\node_modules\mongoose\lib\helpers\promiseOrCallback.js:24:16
    at C:\Users\ajayb\OneDrive\Desktop\savli - Copy\node_modules\mongoose\lib\model.js:4880:21
    at C:\Users\ajayb\OneDrive\Desktop\savli - Copy\node_modules\mongoose\lib\query.js:4397:11
    at C:\Users\ajayb\OneDrive\Desktop\savli - Copy\node_modules\kareem\index.js:136:16
    at processTicksAndRejections (internal/process/task_queues.js:75:11)
Emitted 'error' event on Function instance at:
    at C:\Users\ajayb\OneDrive\Desktop\savli - Copy\node_modules\mongoose\lib\model.js:4859:13
    at C:\Users\ajayb\OneDrive\Desktop\savli - Copy\node_modules\mongoose\lib\helpers\promiseOrCallback.js:24:16
    [... lines matching original stack trace ...]
    at processTicksAndRejections (internal/process/task_queues.js:75:11) {
  code: 'ERR_HTTP_HEADERS_SENT'
}

please help请帮忙

Heading标题

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM