0

nunjucksテンプレートを使用してexpressjs、mongodbを学習しています。配列は次の方法でサーバーからhtmlに送信されます。

poll.find().sort({'date': -1}).toArray(function(err,docs){
        res.render("home",{polls:docs});
    });

変数 polls はオブジェクトの配列です。html ビューで polls 配列に正常にアクセスできますが、クライアント側の js ファイルでアクセスして、配列内のデータを使用してグラフを描画する方法がわかりません。

を使用する<input type='hidden value='{{ polls }}'>と、文字列と配列に変換され、その中のオブジェクトにクライアント js でアクセスできなくなります。何ができるでしょうか?

4

2 に答える 2

0

nunjucks が何をするかはわかりませんが、express はすべての非スカラー データ (= オブジェクトと配列) をJSON-stringとして送信します。

次のようなものを使用するだけです

var body = JSON.parse(responseText);

クライアントで元のオブジェクト/配列を取得します。

于 2016-01-11T16:40:12.477 に答える
0

JSON.stringify正しくアクセスできるようにするには、javascript 配列を json 形式に変換するポーリングを出力する必要がありますJSON.stringify(polls)

そう、

<input type="hidden" value="{{ JSON.stringify(polls) }}" />

または、javascript でアクセスするには:

<script>
    var polls = "{{ JSON.stringify(polls) }}";
</script>

または、(クライアント側ではなく)サーバー側でこの操作を実行して高速化することをお勧めします。

res.render("home", { 
  polls: JSON.stringify(docs)
});
于 2016-01-11T16:52:27.443 に答える