节点js / Express js表单在发布数据后不会过期

时间:2018-06-15 11:24:01

标签: node.js express

首先,我想通知您,我是节点js的新手!

我被要求在节点js中实现一个简单的应用程序。 所以,我创建了一个通过POST方法提交数据的表单。 检索和处理数据时,我会渲染另一个页面,以显示有关提交数据和整个过程结果的一些信息。

我的问题是用户可以从浏览器中单击后退按钮,再次加载提交的数据并重新按下提交按钮。

这听起来很愚蠢,但我已经被困在这里好几天......

提前致谢。

2 个答案:

答案 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"在表格中。

感谢您的回答。