我是 Nodejs 的初学者,我有一个副项目来检查我的端点的状态。
我最初尝试使用 XMLHttp 来实现,但由于 CORS,我的请求被阻止了。现在我想尝试使用 Node 使用这些 API 点,如果它返回 200,则将行绘制为绿色,如果它向下将行绘制为红色。
我的 server.js 有以下代码
var express = require('express');
var app = express();
var request = require('request');
var port = process.env.PORT || 3000;
app.set('port', (port));
app.use(express.static(__dirname + '/'));
app.get('/', function(request, response) {
response.render('/');
});
app.listen(app.get('port'), function() {
console.log('Node app is running on port', app.get('port'));
});
var services = [
{
url: 'MyGetEndpoint'
},
{
url: 'MyGetEndpoint'
}
];
function checkService( url ) {
request(url, function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(response)
}
else{
console.log(error);
}
});
}
function loadDoc() {
var url;
for(var i in services){
url = services[i].url;
checkService( url );
}
}
loadDoc();
在终端上,我可以看到我的两个端点被发回,所以在我的前端,如果一个端点是状态 200,我想给背景着色。
<div id="result" class="media text-muted pt-3">
如何从我的服务器获取 URL?我是否需要使用 ajax 执行另一个 javascript 来调用我的 loadDoc,或者我可以直接发送到浏览器吗?
在此先致谢,非常感谢任何帮助。我读了以下与我的相似的问题,但我无法完全理解它们的含义。 Here
最佳答案
引用route parameters在 expressjs 文档中。使用 url 作为路由参数。如何返回服务状态由您决定,您可以使用 express-flash将数据闪存到模板。您可以将它用作可以是 curled 的端点通过客户端的浏览器。
关于javascript - 使用 nodejs 发送对 html 的响应来使用 REST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49081866/