如何使用Node.js + HBS + Express将JSON传递给客户端?
问题描述:
考虑,我送JSON客户如下的(使用hbs作为视图引擎)渲染的Express页:如何使用Node.js + HBS + Express将JSON传递给客户端?
res.render('MyPage.html', { layout: false, PageTitle: 'Project Name', JSON_Data: {field1:'value',field2:'value2'}});
我能够访问和使用{{PageTitle}}
组HTML页面的标题,下面是代码。
<title>{{PageTitle}}</title>
现在我想显示JSON_data
进入警报弹出。
我尝试以下方法,但得到Uncaught SyntaxError: Unexpected token {
,而在镀铬调试节目var jsonobj = [object Object]
function fbOnBodyLoad() {
var jsonobj = {{JSON_data}};
alert(jsonobj);
}
可以在任何身体就如何访问JSON_data
并显示在警报
先谢谢了一些想法
答
你总是可以注册一个把手帮手格式化对象转换成字符串格式(如透过JSON.stringify),然后使用该助手在您的视图。 http://handlebarsjs.com/block_helpers.html
答
要访问json对象的内部元素,请尝试像这样尝试
var jsonobj = "{{JSON_data.field1}}";
可能是这个可能解决的问题。
参考
+0
没有幸运与上述代码... :-(获取'错误:'[例外:ReferenceError:jsonobj未定义]'' – 2013-02-14 13:05:51
答
对我来说,它的工作由服务器做:
res.render('pages/register', {
title: 'Register Form',
messages: req.flash('error'),
countries:JSON.stringify(countries)
});
,然后我用这个国家的变量在角控制器分配是这样的:
angular.module('languagesApp', []).controller('DemoController', function($scope) {
$scope.algo = {{-countries}};
...
尝试'VAR jsonobj =“{ {JSON_data}}“;' – mithunsatheesh 2013-02-14 12:52:54