如何解决每当 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 举报,一经查实,本站将立刻删除。