2

Expressのレンダリングページで次のようにJSONをクライアントに送信していると考えてください(ビューエンジンとしてhbsを使用):

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アラートにアクセスして表示する方法について、何らかのアイデアを提供してくれる人はいますか

事前の感謝

4

3 に答える 3

1

json オブジェクトの内部要素にアクセスするには、次のようにしてください

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

これで問題が解決するかもしれません。

参照

[オブジェクト オブジェクト] の代わりに Handlebars.js パース オブジェクト

于 2013-02-14T12:56:25.157 に答える
0

いつでも Handlebars ヘルパーを登録して、オブジェクトを文字列形式にフォーマットし (JSON.stringify を使用するなど)、そのヘルパーをビューで使用できます。http://handlebarsjs.com/block_helpers.html

于 2013-02-14T17:59:48.030 に答える
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}};
...
于 2015-09-11T15:50:01.657 に答える