我需要弄清楚如何将完整的JSON响应打印到我的页面(甚至部分页面)上,但是我似乎无法弄清楚。稍后,我将最终在页面中填充更多上下文。
JS档案:
app.get('/', function(req, res) {
var context
apiLib.fetch('acct:chars', function(err, result){
if(err) throw err
context = result;
console.log(result);
res.render('/', context);
});
});
车把
{{#each context.characters}}
{{this.name}}
{{/each}}
JSON数据:
{
"result": {
'1234':{ //this is the character ID
"characters": {
"name": 'Daniel',
"CharacterID": '1234'
etc...
}
}
}
我的页面没有打印任何内容,但是控制台记录了所有内容。我正在使用express.js处理路由。
一个问题是each
帮助器,这里:{{#each context.characters}}
。在当前上下文中该变量的each
作用是什么。调用时,您已经传递了Handlebars对象。所以,现在把手期待中的名为属性的对象,也不会发现它。因此,您应该将该行代码更改为。context
res.render('/', context)
context
context
{{#each characters}}
同样的事情也适用于你写的地方{{this.name}}
。我认为,如果您解决了其他问题,该this
方法实际上将起作用,但是这是不必要的,因为Handlebars会this
自动查看(当前上下文)。所以在{{name}}
那里应该没问题。
最后,如果您实际上只是想将JSON文件显示为纯文本页面,则无需通过Handlebars模板运行它。您可以使用res.json(context)
。这将返回JSON响应。如果您的服务器配置为处理application/json
MIME类型,则它应在浏览器中呈现为纯文本。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句