javascript - 在 Node.js 中处理异常并将错误输出发送到 HTML
问题描述
我有一个功能,如果存在错误,控制台会记录错误,我希望将相同的数据发送回 HTML <div>
。必须仅在出现错误的<div>
情况下加载并向用户显示错误消息。
应用程序.js
console.log('Pulling Image from DockerHub\n');
const result1 = cp.execSync('docker pull mongo:'+version);
console.log(result1.toString());
假设上面的代码生成了一个错误,我希望使用 jQuery AJAX 在我的 HTML 中获取数据。
索引.html
<div id="errorReport"></div>
<script type="text/javascript">
$(document).ready(function(){
$.ajax({
url: "http://localhost:8090/api/route1",
type: 'POST',
dataType:'json',
success: function(res) {
console.log(res);
}
});
});
</script>
需要处理上述子进程中的错误异常,并仅在存在 ERROR 时才(app.js)
呈现数据。index.html
如果 cp 没有返回任何错误,则无需渲染任何数据index.html
更新:
假设在这里const result1 = cp.execSync('docker pull mongo:'+version);
我为版本提供了不正确的值,并且子进程失败。根据execSync
语法,我不能有一个回调函数来确定错误。
现在控制台确实显示了一些错误消息
Error response from daemon: manifest for mongo:a not found: manifest unknown: manifest unknown
child_process.js:660
throw err;
^
现在,如果我希望在我的 HMTL 上显示相同的消息,我<div>
该怎么办?
解决方案
你可以试试这个——
<div id="errorReport"></div>
<script type="text/javascript">
$(document).ready(function(){
$("#errorReport").hide();
$.ajax({
url: "http://localhost:8090/api/route1",
type: 'POST',
dataType:'json',
success: function(res, status) {
if(status === 500){
$("#errorReport").show();
}
console.log(res);
}
});
});
</script>
在您的服务器上 -
try {
cp.execSync(`docker pull mongo:'+version`);
res.status(200)
} catch (error) {
//catch the error here and handle it accordingly by sending error response to client
res.status(500)
}
推荐阅读
- android - TextView wrap_content 在回收站视图项中不起作用
- sql - 自动创建 Sybase 用户
- excel - 使用 VBA 对随机表进行排序
- javascript - Google 表格和外部 API
- hyperledger-fabric - 在多通道多链码和多账本 Fabric 网络上访问账本
- java - 如何在构建时从 .class 文件中的 gradle.properties 获取值
- c - 带有 WSL 的 NCurses 不正确地显示框
- .net - Microsoft.Scripting.ArgumentTypeException:预期填充,得到填充
- python - centos安装python3.7时出现的问题
- python - Pyserial 正在从 arduino 获取不一致的数据