我正在为我们的Web客户端尝试使用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
});
});
`
谢谢你!!!!
@Phil感谢您提供完全合乎逻辑的答案:)
现在,我在回调中呈现我的模板,并使用解析body
为JSON对象JSON.parse(body)
。稍后,我将不得不进行更多的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)});
});
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句