2013-02-14 83 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}}; 
... 
相關問題