在 .ejs 文件中获取当前页面?

Posted

技术标签:

【中文标题】在 .ejs 文件中获取当前页面?【英文标题】:Get current page in .ejs file? 【发布时间】:2017-09-11 22:28:03 【问题描述】:

我有一个简单的 Node.js Web 应用程序,具有通过护照登录/注册功能。在导航栏中,我有两个按钮:登录和注册。我想做的是当用户在注册页面时,只在导航栏中显示登录按钮,当用户在登录页面时,只在导航栏中显示注册按钮。如何在我的头 ejs 文件中实现这一点?

我试过这个:

<% if (document.URL.contains("login"))  %>
    <li><a href="/login">Sign In</a></li>
<%  else  %>
    <li><a href="/register">Sign Up</a></li>
<%  %>

问题在于文档变量未在我的 ejs 本地变量中定义...而且我认为我不能将其定义为本地变量?至少当我尝试时,我得到了一个错误,即文档未定义......这是有道理的,因为这是在 app.js 文件中完成的。

我怎样才能实现这个功能?

谢谢!

【问题讨论】:

您使用的是纯 Node 还是 Express 或 Sails 之类的东西? @Badacadabra 我正在使用 Express。 http://***.com/questions/18501402/finding-current-url-inside-ejs-view-when-using-express 【参考方案1】:

当你渲染你的 ejs 文件时,提供一个带有标题的 json 对象。

以下内容将包含在您的快速路线中:

app.route('/login')
    .get((req, res) => 
        res.render('loginTemplateEjs',  title: 'login');
);

然后在你的 ejs 代码中:

<% if (title == "login"  %>
    <li><a href="/login">Sign In</a></li>
<%  else  %>
    <li><a href="/register">Sign Up</a></li>
<%  %>

【讨论】:

以上是关于在 .ejs 文件中获取当前页面?的主要内容,如果未能解决你的问题,请参考以下文章

C# CefSharp 如何获取当前页的URL

小程序 (下拉刷新,上拉加载)

js获取上一页当前页及域名url

PHP中获取当前页面的URL信息

在PHP中截取当前页面URL地址及URL信息的方法

asp获取当前页表单值