2013-02-14 174 views
2

考虑,我送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并显示在警报

先谢谢了一些想法

+0

尝试'VAR jsonobj =“{ {JSON_data}}“;' – mithunsatheesh 2013-02-14 12:52:54

回答

1

要访问json对象的内部元素,请尝试像这样尝试

var jsonobj = "{{JSON_data.field1}}"; 

可能是这个可能解决的问题。

参考

Handlebars.js parse object instead of [Object object]

+0

没有幸运与上述代码... :-(获取'错误:'[例外:ReferenceError:jsonobj未定义]'' – 2013-02-14 13:05:51

0

对我来说,它的工作由服务器做:

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}}; 
... 
相关问题