首先,我想通知您,我是节点js的新手!
我被要求在节点js中实现一个简单的应用程序。 所以,我创建了一个通过POST方法提交数据的表单。 检索和处理数据时,我会渲染另一个页面,以显示有关提交数据和整个过程结果的一些信息。
我的问题是用户可以从浏览器中单击后退按钮,再次加载提交的数据并重新按下提交按钮。
这听起来很愚蠢,但我已经被困在这里好几天......
提前致谢。
答案 0 :(得分:0)
这是由于各种浏览器的HTTP caching策略:FireFox中的“后向缓存”(BFCache); Safari中的“Page Cache”等。它的实现是为了优化导航速度。从本质上讲,它会缓存整个页面的DOM,包括非HTTPS站点的表单元素。可以通过侦听加载页面的事件或使用服务器中的HTTP headers来缓存该页面(例如Cache-Control: no-cache, max-age=0, must-revalidate, no-store
)来以编程方式清除表单元素。
要在Express中为响应设置Cache-Control
标头,请使用响应对象的set
方法:
res.set('Cache-Control', 'no-cache, max-age=0, must-revalidate, no-store');
答案 1 :(得分:0)
我设法通过添加属性来解决我的问题:autocomplete =" off"在表格中。
感谢您的回答。