提问者:小点点

使用nodejs使用REST发送响应到html


我是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还是可以直接发送到浏览器?

提前感谢,任何帮助都是非常感激的。我读了下面的问题,它和我的问题相似,但我不能完全理解它们的意思。这里


共1个答案

匿名用户

请参阅expressjs文档中的路由参数。使用url作为路由参数。如何返回服务状态取决于您,您可以使用express-flash将数据闪存到模板中。您可以使用它作为端点,客户端的浏览器可以卷曲它。

相关问题