[英]Dynamic values in javascript - Node.js
在node.js中,我通过以下方式将值发送到html:
render('/abc', mydata)
“ mydata”包含json_encoded格式。
我读这是:
{{=mydata}}
现在,在同一个html页面中,我有如下javascript:
<script>
xyz();
function xyz() {
// i need to read the "mydata" here.
}
</script>
我尝试了这个不起作用的方法xyz({{=mydata}})
,如何在node.js中使用该动态数据?
一些可能性:
mydata
在视图中可能实际上不是本地的。
Express无法传递用作参数的变量名称。 仅它引用的Object
的属性。
因此,您可能需要围绕mydata
创建一个新的Object
为其命名一个属性:
render('/abc', { mydata: mydata });
输出可能是由{{= }}
进行HTML编码的,这很可能会导致JavaScript中的SyntaxErrors。
因此,响应可能包含以下内容:
xyz({"foo":"bar"})
而不是:
xyz({"foo":"bar"})
如何跳过HTML编码将取决于您在Express中使用的视图引擎。 但是,就像将=
替换为-
一样简单。
xyz({{-mydata}})
mydata
可能仍然是一个Object
而不是您期望的json_encoded
数据的String
。
如果是这种情况,则可能使用的是标准.toString()
,它将产生:
xyz([object Object])
并且,您可能仍然需要stringify()
mydata
。
xyz({{-JSON.stringify(mydata)}})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.