0

我有一个简单的“服务请求表”,用户可以使用它来请求不同的服务。没有会话或登录概念。

现在

  1. 单击“服务请求表”上的“提交”按钮后,它会将用户重定向到“Thank-you.cfm”页面。

  2. 如果用户按下浏览器的返回按钮,表单将再次出现所有字段为空的情况。

  3. 现在,当用户单击浏览器前进按钮时,它再次显示Thank-you.cfm 页面。

我不想在单击浏览器转发按钮时再次向用户显示“Thank-you.cfm”页面。我也在清除此页面上的缓存。

为了清除缓存,我正在使用此代码

<cfheader name="cache-control"  value="no-cache, no-store, must-revalidate">
<cfheader name="pragma" value="no-cache">
<cfheader name="expires" value="#getHttpTimeString(now()-1)#">

这个怎么做?

4

3 回答 3

3

我认为如果你继续沿着这条路走下去,你就会陷入困境。昨天您询问如何更改浏览器后退按钮的默认行为,而今天您询问如何更改浏览器前进按钮的默认行为。所有浏览器都具有这些功能,并且(我相信)它们旨在使用户受益。虽然我同意这些功能多年来给动态网站(以及我们开发人员)带来了麻烦,但我不同意您应该尝试改变他们的行为。相反,您需要优雅地处理该行为。

在你的任何一篇文章中都不清楚你在追求什么。我的假设是您希望避免重复发布表单数据(正如彼得在您的另一个问题中提到的那样)。如果是这种情况,那么您应该检查所提交的信息是否已经提交,如果是,则向用户发布适当的消息(再次正如彼得在您的另一个问题中已经提到的那样)。

在我看来,试图改变这些功能的工作方式会让你感到厌烦。这类似于改变所有汽车中方向盘的工作方式。当您向左转动方向盘时的默认行为是汽车向左转,我想让它向右转...

于 2013-08-01T12:39:27.157 回答
0

如果你可以支持 IE10+,你可以使用HTML5 History API

例如window.history.replaceState()方法。

于 2013-08-01T10:14:06.247 回答
0

使它只有在传递数据时才显示页面,否则它会重定向。

我以前没有使用过coldfusion,所以我无法为您提供太多代码帮助,但我猜这将是最好的概念。

这样,除非有有效的帖子数据,否则任何人都无法进入Thank-you.cfm 页面

于 2013-08-01T10:19:39.547 回答