我是Nodejs的初学者,我有一个辅助项目来检查我的endpoint的状态。
我最初尝试使用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();
在终端上,我可以看到我的两个endpoint被发送回来,所以在我的前端,如果一个endpoint是状态200,我想给背景上色。
<div id="result" class="media text-muted pt-3">
如何从服务器获取URL?我需要使用ajax做另一个javascript来调用我的loadDoc还是可以直接发送到浏览器?
提前感谢,任何帮助都是非常感激的。我读了下面的问题,它和我的问题相似,但我不能完全理解它们的意思。这里
请参阅expressjs文档中的路由参数。使用url作为路由参数。如何返回服务状态取决于您,您可以使用express-flash将数据闪存到模板中。您可以使用它作为端点,客户端的浏览器可以卷曲它。