0

res.locals.myDataクライアント側でこのように印刷できます:<%= myData%>

スクリプト内でどのように使用できますか? これは機能しません:

<script type="text/javascript">
var receivedData = myData
</script>

res.locals.myData を使用してサーバー出力を編集します。

[ '83',
  { v: 294,
    f: '29 <img src="img/Gold.png">  <img src="img/Silver.png"> 94 <img src="img/Copper.png">' },
  { v: 210,
    f: '21 <img src="img/Gold.png">  <img src="img/Silver.png"> 10 <img src="img/Copper.png">' },
  { v: 1.38 } ]

コードconsole.log(<%= sendTableData%>) は次のようにレンダリングされます。

console.log(83,[object Object],[object Object],[object Object])

これは

予期しない識別子「オブジェクト」

エラー

EDIT2私が試した別のアプローチは、JSON.stringifyとJSON.parseを使用することですが、res.localsを使用して送信すると文字列に何かが起こります. 紐の小片:["83",{"v":294,"f":"29届いたときはこれですか: &#34;83&#34;,{&#34;v&#34;:294,&#34;f&#34;:&#34;29. 引用符を変更しますか?とにかく、この方法は避けて、元のデータのまま送信したいと思います。

Edit3解決策は、データを文字列として送信した後に <%- myData%> クライアント側 (通知 - = の代わりに) を使用することでした。

4

1 に答える 1

0

次のクライアント側を使用します。

res.locals.myData = JSON.stringify(myData)

そして、次のクライアント側:

var tableData = <%- myData%>; // For .ejs
var tableData = !{myData} // For .jade (I think)
于 2015-12-05T19:12:32.547 に答える