【问题标题】:"document is not defined " error in ejs file which is to be used with res.render() in node.js?与 node.js 中的 res.render() 一起使用的 ejs 文件中的“文档未定义”错误?
【发布时间】:2019-01-03 15:56:55
【问题描述】:

我有这个 ejs 文件,它将使用 node.js 中的 res.render() 作为响应发送

<!DOCTYPE html>
<html>
<head>  
  <title>pilcit</title>
</head>
<body>
<% var btn = document.getElementById('btn');%>
<% btn.style.background="blue"; %>
<div class="pt-5">
<div class="container-fluid">
    <h1  style="color:blue;" align=center>Pilcit</h2>
    <h4 style="color:#369bf4" align="center">The online clipboard</h4>

     <div>

         <textarea  class="form-control mt-5" name="content" rows="12">
            <%= result.content %>
         </textarea>
         <input type="text" value="sdfdsfsdfsd"  id="foo">
         <button id="btn" data-clipboard-target="#foo" copy clip </button>


    </div>  
    <!--<input type="submit" value="Create Clip">-->

</div>

但线
`

给我这个错误

ReferenceError: /home/ubuntu/workspace/pilcit/views/show.ejs:34
32| </head>
33| <body>
 >> 34|     <% var btn = document.getElementById('btn');%>
35| <div class="pt-5">
36| 
37|     <div class="container-fluid">

document is not defined
at eval (eval at compile (/home/ubuntu/workspace/pilcit/node_modules/ejs/lib/ejs.js:618:12), <anonymous>:17:27)
at returnedFn (/home/ubuntu/workspace/pilcit/node_modules/ejs/lib/ejs.js:653:17)
at tryHandleCache (/home/ubuntu/workspace/pilcit/node_modules/ejs/lib/ejs.js:251:36)
at View.exports.renderFile [as engine] (/home/ubuntu/workspace/pilcit/node_modules/ejs/lib/ejs.js:482:10)
at View.render (/home/ubuntu/workspace/pilcit/node_modules/express/lib/view.js:135:8)
at tryRender (/home/ubuntu/workspace/pilcit/node_modules/express

我没有使用 来更改 btn 的背景颜色,我想将它与剪贴板 js 一起使用。 我使用该行来检查嵌入式 javascript 是否正常工作。

【问题讨论】:

  • 顺序为:&lt;% ejs code %&gt;在服务器上用于构建HTML->生成的文档发送到客户端/浏览器->浏览器解析HTML并构建DOM->@987654324 @开始存在

标签: javascript node.js express


【解决方案1】:

您不能在您的 ejs 标签中使用document,因为该代码是在服务器上执行的。相反,您应该添加一个脚本标签,该标签将在页面实际加载到浏览器中后立即运行。

<script> var btn = document.getElementById('btn'); </script>

【讨论】:

  • 另外,该脚本必须移到&lt;button&gt; 下方,否则找不到。
猜你喜欢
  • 1970-01-01
  • 2021-11-13
  • 1970-01-01
  • 1970-01-01
  • 2019-09-23
  • 1970-01-01
  • 2020-10-26
  • 2015-11-14
相关资源
最近更新 更多