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 回答