微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

每当 nodejs 的服务器端发生错误时,如何在 UI 中发送错误警报?

如何解决每当 nodejs 的服务器端发生错误时,如何在 UI 中发送错误警报?

我正在通过 AJAX 向服务器发送请求。 我想在发生错误时向 AJAX 回调发送响应。 因此,对于回调函数,我在 error 块中编写了此返回代码res.end('{"msg" : "Some error occurred","status" : 700}');

对于状态,我在带有此消息的 UI 上抛出一个 alert

但是每当代码失败或发生某些错误时,控制台都会在控制台中写入控制台错误,但服务器也会停止并且无法再次重新加载页面,我必须再次运行 npm start。但它不会将 msg 和状态返回给 AJAX 调用作为最终响应。

如何处理代码来实现这一点?

意味着每当发生任何错误时,我都想在 UI 上发送 错误 警报,而不是完全阻止服务器和网页。

 router.route('/addTasks-approve').get(function(req,res) {

                      User.updateMany({'Addtasks.commonID':req.query.id},{$set: {"Addtasks.$.width" :'250px',"Addtasks.$.height" :'32px',"Addtasks.$.background" :'linear-gradient(45deg,#0f3443,#34e89e)',"Addtasks.$.border_radius" :'10px / 5px',"Addtasks.$.status" :req.query.text}},function (error,success) {
                              if (!error) {
                                console.log("Approved color set!");
                                User.findOne({tag:'Admin','Addtasks.commonID':req.query.id},dataAdmin) {
                                      if (error) {
                                          console.log("error = "+ error);
                                          res.end('{"msg" : "Some error occurred","status" : 700}');
                                      }
                                      else {
                                        dataAdmin.Addtasks.forEach(element => {
                                          if(element.commonID == req.query.id)
                                          {
                                     User.findOneAndUpdate({tag:'Client',{$push: {'Addtasks.$.Bigpaths4Clients':{$each : element.Bigpaths4Clients}},$set: {"Addtasks.$.background" :'linear-gradient(45deg,#1E6305,#BDFF00)',"Addtasks.$.status" :'Done'}},data) {
                                              if (error) {
                                                console.log("error = "+ error);
                                                res.end('{"msg" : "Unable to add the Task","status" : 700}');
                                              }
                                              else {
                                                console.log("Addtasks added to Client's dashboard succesfully");
                                                sendMails2Client(data.email,element.topic,'In Progress','Done');
                                                sendMails2User(dataAdmin.email,'Done','Approved');
                                                User.findOne({tag:'Admin',dataWriter) {
                                                      if (error) {
                                                          console.log("error = "+ error);
                                                          res.end('{"msg" : "Some error occurred","status" : 700}');
                                                      }
                                                      else {
                                                        sendMails2User(dataWriter.email,'Approved');
                                                        res.end('{"success" : "success","status" : 200}');
                                                      }
                                                    })
                                              }
                                      })
                                    }
                                  });
                                }
                              });
                              }
                              else {
                                res.end('{"msg" : "Unable to set the status and color for Approved","status" : 700}');
                              }
                            });
                                                  });

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。