使用nodejs向html发送响应来使用REST

问题描述 投票:5回答:1

我是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">

如何从服务器获取URL?我是否需要使用ajax调用我的loadDoc来执行另一个javascript,还是可以直接发送到浏览器?

在此先感谢,任何帮助都非常感谢。我读了下面与我类似的问题,但我无法完全理解它们的含义。 Here

javascript html node.js rest
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.