如何从脚本而不是 html 访问 res.locals
How to access res.locals from script instead of html
我可以在客户端像这样打印我的 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])
这给出了
Unexpected identifier 'Object'
错误
EDIT2
我尝试过的另一种方法是使用 JSON.stringify 和 JSON.parse,但是使用 res.locals 发送时字符串会发生一些变化。一小段字符串:["83",{"v":294,"f":"29
到达时是这样的:"83",{"v":294,"f":"29
。它改变了引号?无论如何,我宁愿避免使用这种方法并将其作为原始数据发送。
Edit3 解决方案是在将数据作为字符串发送后使用 <%- myData%> 客户端(注意 - 而不是 =)。
使用以下客户端:
res.locals.myData = JSON.stringify(myData)
以及以下客户端:
var tableData = <%- myData%>; // For .ejs
var tableData = !{myData} // For .jade (I think)
我可以在客户端像这样打印我的 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])
这给出了
Unexpected identifier 'Object'
错误
EDIT2
我尝试过的另一种方法是使用 JSON.stringify 和 JSON.parse,但是使用 res.locals 发送时字符串会发生一些变化。一小段字符串:["83",{"v":294,"f":"29
到达时是这样的:"83",{"v":294,"f":"29
。它改变了引号?无论如何,我宁愿避免使用这种方法并将其作为原始数据发送。
Edit3 解决方案是在将数据作为字符串发送后使用 <%- myData%> 客户端(注意 - 而不是 =)。
使用以下客户端:
res.locals.myData = JSON.stringify(myData)
以及以下客户端:
var tableData = <%- myData%>; // For .ejs
var tableData = !{myData} // For .jade (I think)