我正在尝试使用我们的webclient的nodejs / expressjs,并且无法将数据传递给我的.ejs模板:
我有一个REST API调用我们的应用服务器,它返回一个json元素。我希望我可以直接在路由器中调用API并将其作为变量传递给我的模板,但我似乎无法提取json元素。我知道我可以直接在模板中使用ajax调用,但我想尝试坚持MVC设计模式。
将json元素返回到我传递的局部变量似乎不会出于某种原因。
我一整天都在寻找答案,但是在所有的教程中,我看到的只是每个人都记录了他们的结果。这一切都很好,但用它做点什么会很好。
`
var url = "http://application.server"
/* GET home page. */
router.get('/', function(req, res, next) {
request(url, function (error, response, body) {
console.log(body); //returns Json element, how can I extract this??
});
res.render('index', {
//data: body <---- I want to pass the JSON element to my template here
});
});
`
谢谢!!!!答案 0 :(得分:0)
@Phil感谢您完全合乎逻辑的答案:)
我现在在回调中渲染我的模板,并使用body
将JSON.parse(body)
解析为JSON对象。稍后我将不得不进行更多的API调用并传递它们,但是对于我们的原型,这是有效的。
var url = "http://application.server"
/* GET home page. */
router.get('/', function(req, res, next) {
request(url, function (error, response, body) {
res.render('index', {data:JSON.parse(body)});
});
});