【发布时间】:2015-05-11 21:54:22
【问题描述】:
我目前使用res.error('message'); 在我的Express/Node.js 应用程序中使用res.redirect(url); 加载的页面上显示一条消息。
如果我不希望它是错误消息,是否有另一种显示消息的方式?
谢谢!
【问题讨论】:
我目前使用res.error('message'); 在我的Express/Node.js 应用程序中使用res.redirect(url); 加载的页面上显示一条消息。
如果我不希望它是错误消息,是否有另一种显示消息的方式?
谢谢!
【问题讨论】:
res.redirect(url) 实际上会发出 HTTP 302 重定向,这将导致用户的浏览器对url 变量中的值指定的任何页面发出全新的请求。
如果您想在重定向后向用户显示一条消息,则需要将该消息存储在请求之间持续存在的某个位置,然后在后续页面加载时读取它。这通常通过将消息存储在 cookie 或服务器端会话状态中来实现,通常称为闪存存储。
express-flashmiddleware 可以帮助您解决这个问题,尽管我不能 100% 确定它与 Express 4 的兼容性。
您也可能会发现 this SO question 很有帮助。
【讨论】:
您可以使用其他res 方法之一发送消息:
send('message') 或 end('message') 似乎是最合适的。
否则您可以使用.render (view, templateParam) 显示某些页面。
【讨论】:
使用闪光灯。它们为错误、成功和信息性消息提供模板。如果您的用户使用 Web 浏览器,这将非常有用。
【讨论】: