在EJS页面中进行重定向通常不是直接在EJS模板里进行的,而是在处理HTTP请求的服务器端代码中实现。EJS(Embedded JavaScript templating)是一个模板引擎,用来从服务器端渲染HTML页面,它本身不处理客户端或服务器端的重定向。重定向通常是在服务器端的路由处理逻辑中完成的。
假设您使用的是Node.js和Express框架,下面是一个如何实现重定向的示例:
步骤 1: 创建Express服务器
首先,我们需要设置一个基本的Express服务器。如果您还没有安装Express,可以通过npm安装它:
bashnpm install express
然后,创建一个简单的Express服务器,如下所示:
javascriptconst 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.ejs
和new-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 回复