Express js控制器从api服务获取数据并呈现视图

Hir*_*aka 3 javascript api node.js express

我有这个系统

  1. 仅响应JSON对象的API系统.示例:http://example.com/user/13 回复:{name:'Aesome 1',年龄:'13'}

  2. ExpressJS Web应用程序,用于创建视图并将视图发送给用户.

现在我需要做什么来从API获取JSON对象并在ExpressJS中呈现视图然后发送到客户端.

所以我需要将ExpressJS应用程序与这个api系统连接起来.

请让我知道如何做到这一点.

谢谢

ash*_*shu 5

您可以使用请求模块发出api请求.

在你的控制器中,这样做:

var request = require('request');

function(req, res) {
    request.get('http://example.com/user/13', function(err, response, body) {
        if (!err && response.statusCode == 200) {
            var locals = JSON.parse(body);
            res.render('<YOUR TEMPLATE>', locals);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

注意:如果你真的想从服务器访问api然后使用示例,否则你可以使用ajax获取结果,同时减少另一台服务器到服务器http调用的开销.