问题描述
我正在通过 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 (将#修改为@)