【发布时间】:2018-05-15 12:51:11
【问题描述】:
我正在尝试获取页面的当前 url,并将其作为值存储在名为 redirect 的隐藏输入字段中:
<input name="redirect" type="hidden" value="" />
这是一个 EJS 文件。所以如果我尝试这个,它会起作用:
<script type="text/javascript">
document.getElementsByName("redirect")[0].value = window.location.href;
</script>
但如果我将其更改为以下内容,则不会出现window is not defined 的错误。
<input name="redirect" type="hidden" value="<%= window.location.href %>" />
我对 javascript 很陌生。有人可以帮我解决第二种方法吗?
【问题讨论】:
-
我认为 EJS 是一种模板语言。我不希望构造文档的语言能够访问文档,因为文档在完成渲染之前不存在。
-
window是全球性的。它应该(并且是)无处不在可用,所以这没有多大意义。请为您的问题创建一个Minimal, Complete, and Verifiable example。 -
@DominicTobias:对不起,我没有明白你的意思
-
那个 EJS 模板在哪里执行?在 Node 或浏览器中?
-
EJS 真的是一些 DOM 操作的好解决方案吗?在我看来,在构建文档/窗口时获取文档/窗口是一种不好的做法。这样做有什么理由吗?
标签: javascript ejs