我正在尝试建立一个电子应用程序。ejs文件具有从主进程传递给它的变量值。我想在链接到渲染器进程的javascript文件中获取这些变量。我尝试了以下方法:
<script> var details = <%= details %> </script>
但我收到了一个错误 expression expected . 我该怎么做?我是新的电子和nodejs,任何帮助是感激的。谢谢
expression expected
mdfafbf11#
查看生成的源代码。如果 details 就是说,当您将其转换为字符串时,除了有效的js语法之外的任何内容都会出错。例如,如果 details = "Hello, world" 然后生成的html页面将如下所示:
details
details = "Hello, world"
<script> var details = Hello, world </script>
哪个可以治疗 Hello 像一个变量名,然后出错。您需要对数据进行编码由于json被设计为js文本语法的一个子集,因此您可以对其进行编码,然后客户端js解析器将其转换回一个对象/字符串/任何它最初是什么。
Hello
var details = <%- JSON.stringify(details) %>
kq4fsx7k2#
不要认为你需要使用任何装饰,因为你已经在js中了。试试这个: <script>console.log(details);</script>
<script>console.log(details);</script>
2条答案
按热度按时间mdfafbf11#
查看生成的源代码。
如果
details
就是说,当您将其转换为字符串时,除了有效的js语法之外的任何内容都会出错。例如,如果
details = "Hello, world"
然后生成的html页面将如下所示:哪个可以治疗
Hello
像一个变量名,然后出错。您需要对数据进行编码
由于json被设计为js文本语法的一个子集,因此您可以对其进行编码,然后客户端js解析器将其转换回一个对象/字符串/任何它最初是什么。
kq4fsx7k2#
不要认为你需要使用任何装饰,因为你已经在js中了。
试试这个:
<script>console.log(details);</script>