如何使用Node.js + HBS + Express将JSON传递给客户端?
考虑一下,我在Express的呈现页面(使用hbs作为视图引擎)中发送JSON给客户端:
res.render('MyPage.html', { layout: false, PageTitle: 'Project Name', JSON_Data: {field1:'value',field2:'value2'}});
我可以使用{{PageTitle}}
来访问和设置HTML页面的标题,下面是代码。
<title>{{PageTitle}}</title>
现在我想显示JSON_data
到警报popup。
我试过以下方式,但获取Uncaught SyntaxError: Unexpected token {
,而在Chrome中debugging是显示var jsonobj = [object Object]
function fbOnBodyLoad() { var jsonobj = {{JSON_data}}; alert(jsonobj); }
任何机构可以提供一些关于如何访问JSON_data
并显示警报的想法
提前谢谢
你总是可以注册一个Handlebars帮助器来将对象格式化为string格式(比如使用JSON.stringify),然后在你的视图中使用这个帮助器。 http://handlebarsjs.com/block_helpers.html
要访问json对象的内部元素,请尝试像这样
var jsonobj = "{{JSON_data.field1}}";
可能是这个可能解决的问题。
参考
Handlebars.jsparsing对象而不是[Object object]
对我来说,它在服务器上的工作:
res.render('pages/register', { title: 'Register Form', messages: req.flash('error'), countries:JSON.stringify(countries) });
然后我使用这个国家variables在angular度控制器中分配这样的:
angular.module('languagesApp', []).controller('DemoController', function($scope) { $scope.algo = {{-countries}}; ...