首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将数据从nodejs传递到html脚本标记中

如何将数据从nodejs传递到html脚本标记中
EN

Stack Overflow用户
提问于 2022-02-07 10:23:34
回答 4查看 1.9K关注 0票数 2

我在8000端口上使用高速公路作为服务器。我希望将一个字符串值从高速公路文件发送到html脚本标记,并在脚本标记中使用这个字符串值。name变量现在以空字符串的形式出现。我如何console.log名称变量的值?

静态页面-server.js:

代码语言:javascript
复制
 app.get('/index', function(req, res) {
        var name = "hello"; 
        res.render(__dirname + "/static-pages/journey-analize-report/index.html", {name:name});
    });

index.html:

代码语言:javascript
复制
 <script type="text/javascript">
        console.log(name);
 </script>

编辑:我使用了ejs,现在的问题是如何在脚本标记中描述name属性?下面的代码给出了语法错误。

代码语言:javascript
复制
<script type="text/javascript">
        console.log(<%=name%>);
 </script>
EN

回答 4

Stack Overflow用户

发布于 2022-02-07 10:28:43

Express.js本身就是后端服务器。如果您想拥有动态HTML文件,您需要使用模板引擎。

请遵循本文件-> https://expressjs.com/en/guide/using-template-engines.html

最终,您将意识到您将需要一个前端框架来以良好的质量更快地编写您的代码。因此,还建议您查看一些框架,如React,Vue.js。如果需要单个页面应用程序,则只使用express.js提供数据,而不是呈现HTML。如果您需要服务器端呈现,那么最好研究一下Next.js,Nuxt.js。

票数 4
EN

Stack Overflow用户

发布于 2022-02-07 10:33:35

不能直接将变量注入nodejs中的html文件。这就是为什么你有特快的模板引擎。看看ejs

它将允许您将数据直接从您的路由传递到您正在呈现的页面。

票数 0
EN

Stack Overflow用户

发布于 2022-02-07 10:36:45

使用locals方法通过res.render()参数发送到视图的局部变量不能直接访问。相反,您需要引用那些使用它的变量名包装在双花括号中的人。因此,如果要在JavaScript函数中使用它,则需要声明一个局部变量,并将name本地的内容提供给它。

只需像这样修改您的index.html

代码语言:javascript
复制
<script type="text/javascript">
    let name = "{{name}}";
    console.log(name);
</script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71016921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档