我正在尝试使用带有.ejs视图的Express js.
我想将我的页面重定向到任何事件上的另一个页面,让我们说“onCancelEvent”
根据Express js文档,我可以使用res.redirect(“/ home”);
但是我无法在我的ejs文件中获得res对象.
任何人都可以告诉我如何访问.ejs文件中的req和res对象
请帮忙.
谢谢
解决方法
简答
如果要访问EJS模板中的“req / res”,可以将req / res对象传递给控制器函数中的res.render()(特定于此请求的中间件):
res.render(viewName,{ req : req,res : res /* other models */};
或者在一些服务于所有请求(包括这个请求)的中间件中设置res.locals:
res.locals.req = req; res.locals.res = res;
然后您将能够访问EJS中的“req / res”:
<% res.redirect("http://www.stackoverflow.com"); %>
进一步讨论
但是,您真的想在视图模板中使用res来重定向吗?
如果事件向服务器端发起某些请求,它应该在视图之前通过控制器.因此,您必须能够检测到条件并在控制器内发送重定向.
如果事件仅发生在客户端(浏览器端)而不向服务器发送请求,则重定向可以由客户端javascript完成:
window.location = "http://www.stackoverflow.com";
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。