我是Nodejs的初学者,我有一个侧面项目来检查我的端点的状态。
我最初尝试使用XMLHttp,但由于CORS,我的请求被阻止了。现在我想尝试使用节点消耗这些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">
如何从服务器获取网址?我是否需要使用ajax调用我的loadDoc来执行另一个javascript,还是可以直接发送到浏览器?
在此先感谢,任何帮助都非常感谢。我读了下面与我类似的问题,但我无法完全理解它们的含义。 Here
答案 0 :(得分:0)
请参阅expressjs文档中的route parameters。使用url作为路由参数。如何返回服务状态取决于您,您可以使用express-flash将数据刷新到模板。您可以将其用作客户端浏览器可以curled的端点。