我有一个从外部API获取数据的函数:
app.get("/getdata", (req, res) => {
request.get({
url: 'http://externalurl',
json: true
})
.pipe(res);
});
它只是在浏览器中显示收到的JSON对象。问题是,我怎样才能在模板中呈现这些数据,就像通常使用像res.render("template", {data:data})
这样的快速方法来完成,这样我就可以对其进行格式化?
答案 0 :(得分:2)
假设您的$(function() {
$("#question").change(function(e) {
e.preventDefault();
var x = document.getElementById("question").value;
if (x == "default") {
$("#demo").html("");
} else {
$("#demo").load("c7vt.php?finished");
}
});
});
变量来自request npm package,您可以使用回调函数来接收响应数据:
request
或者,如果您对使用calllbacks感到不舒服,可以将app.get("/getdata", (req, res, next) => {
request.get("http://externalurl", (err, response, body) => {
if (err) {
return next(err);
}
res.render("template", {data: JSON.parse(body)});
});
});
调用包装在一个承诺中或使用现成的包装器(请参阅软件包的自述文件以获取建议)。