使用Node.js + HBS + Express如何将JSON传递给客户端?

3

考虑以下情况,在使用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显示在弹出警报框中。
我已经尝试了以下方法,但是在调试时出现了Uncaught SyntaxError: Unexpected token {,在Chrome中调试时显示var jsonobj = [object Object]
    function fbOnBodyLoad() {
        var jsonobj = {{JSON_data}};
        alert(jsonobj);
    }

有没有人能提供一些关于如何访问JSON_data并在警报中显示的想法?

提前感谢


尝试使用 var jsonobj = "{{JSON_data}}"; - Mithun Satheesh
3个回答

2

以上代码运行不成功... :-( 出现了 Error:'[Exception: ReferenceError: jsonobj is not defined]' 的错误。 - Amol M Kulkarni

0

0

对我来说,在服务器上这样做是有效的:

res.render('pages/register', {
                title: 'Register Form',
                messages: req.flash('error'),
                countries:JSON.stringify(countries)
        });

然后我使用这些国家变量来在Angular控制器中进行分配,就像这样:

angular.module('languagesApp', []).controller('DemoController', function($scope) {

    $scope.algo = {{-countries}};
...

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接