乐闻世界logo
搜索文章和话题

如何从ejs页面重定向到另一个页面

2 个月前提问
2 个月前修改
浏览次数16

1个答案

1

在EJS页面中进行重定向通常不是直接在EJS模板里进行的,而是在处理HTTP请求的服务器端代码中实现。EJS(Embedded JavaScript templating)是一个模板引擎,用来从服务器端渲染HTML页面,它本身不处理客户端或服务器端的重定向。重定向通常是在服务器端的路由处理逻辑中完成的。

假设您使用的是Node.js和Express框架,下面是一个如何实现重定向的示例:

步骤 1: 创建Express服务器

首先,我们需要设置一个基本的Express服务器。如果您还没有安装Express,可以通过npm安装它:

bash
npm install express

然后,创建一个简单的Express服务器,如下所示:

javascript
const express = require('express'); const app = express(); app.set('view engine', 'ejs'); // 首页路由 app.get('/', (req, res) => { res.render('index'); }); // 重定向路由 app.get('/redirect', (req, res) => { // 这里执行重定向到另一个路由 res.redirect('/new-page'); }); // 新页面路由 app.get('/new-page', (req, res) => { res.render('new-page'); }); const PORT = process.env.PORT || 3000; app.listen(PORT, () => { console.log(`服务器运行在 http://localhost:${PORT}`); });

步骤 2: 创建EJS模板

在您的项目中的views文件夹里,您需要有两个EJS模板文件:index.ejsnew-page.ejs

例如,index.ejs可能看起来像这样:

html
<!DOCTYPE html> <html> <head> <title>首页</title> </head> <body> <h1>欢迎来到首页</h1> <a href="/redirect">去新页面</a> </body> </html>

new-page.ejs可以是:

html
<!DOCTYPE html> <html> <head> <title>新页面</title> </head> <body> <h1>这是新页面</h1> <a href="/">回到首页</a> </body> </html>

步骤 3: 测试重定向

现在一切都设置好了,您可以启动服务器并在浏览器中访问 http://localhost:3000。点击“去新页面”的链接,您应该会看到浏览器被重定向到新页面。

在这个例子中,当用户访问/redirect路由时,服务器处理逻辑会调用res.redirect('/new-page')来重定向用户到/new-page路由,这个路由再渲染并显示new-page.ejs模板。这样,重定向过程是在服务器端完成的,而不是在EJS模板中。

2024年7月20日 03:52 回复

你的答案