Javascript Request.JS和Node.JS数据问题
我是Node的新手,我正在开发一个应用程序,它使用Request.JS从私有API中提取数据。我需要数据显示在我的一个视图中。目前,我的一条路线中需要并定义了请求,如下所示:Javascript Request.JS和Node.JS数据问题,javascript,node.js,Javascript,Node.js,我是Node的新手,我正在开发一个应用程序,它使用Request.JS从私有API中提取数据。我需要数据显示在我的一个视图中。目前,我的一条路线中需要并定义了请求,如下所示: var models = require('../models');// Required for sequelize var express = require('express');// Required for the Express framework var router = express.Router();
var models = require('../models');// Required for sequelize
var express = require('express');// Required for the Express framework
var router = express.Router();
var request = require('request');// For requesting API data
router.get('/', function (req, res) {
request( // Request from API
'http://PrivateAPI.com:8080/reports/22?type=0&key=privatekey',
function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body) // Print the return of the api call.
}
})
models.User.findAll({ // $$$-Define User DB call.
}).then(function(users) {
res.render('index', {
title: 'Project Insight',
users: users,
request: request
});
});
})
运行时,我可以在控制台中看到数据的输出,但我想知道在其中一个视图中显示数据的最佳方式。还有,我的路线上应该有这个吗?我迷路了,谢谢您的帮助。首先,当前代码存在一些资源依赖性问题,因为私有API的响应在渲染时可能不可用。我只是将数据库调用和后续操作移动到私有服务请求处理程序。对于实际答案:只需将更多数据传递给渲染操作即可:
router.get('/', function (req, res) {
request( // Request from API
'http://PrivateAPI.com:8080/reports/22?type=0&key=privatekey',
function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
// response ok, continuing
models.User.findAll({ // $$$-Define User DB call.
}).then(function(users) {
res.render('index', {
title: 'Project Insight',
users: users,
request: request,
body: body // <--
});
} else {
// handle error
}
});
});
在视图/index.ejs中,只需使用变量
<!DOCTYPE html>
<html>
...
Using <%= body %>, properties are also available if applicable ( <%= body.attr1 %>, <%= body.attr2 %>, ...)
...
</html>
您需要编写索引视图,从该私有服务获取响应。您使用的模板呈现引擎是什么?EJS嵌入式Javascript