【问题标题】:Reload web page - browser "back" button ( HTML/JSP)重新加载网页 - 浏览器“返回”按钮 (HTML/JSP)
【发布时间】:2017-12-26 05:55:37
【问题描述】:

我有一个小问题。在我的 Web 应用程序中,我使用 jsp 表单。

有一个表单,当用户提交表单时,它的数据会存储在数据库中。成功提交后,用户将被重定向到确认页面。

但是,当用户按下浏览器的“后退”按钮时,用户将被重定向到前一个表单。(没有服务器端交互/没有来自数据库的更新数据)并且当用户按下提交时,该数据也是保存在数据库中。由于这是一个与帐户相关的应用程序,因此这种行为是不可接受的。

我的问题是,有没有办法防止这种行为?

【问题讨论】:

  • 您无法真正阻止用户再次访问该页面...您可以在页面中插入一个唯一 ID 并检查该 ID 之前是否已提交

标签: javascript jsp http servlets


【解决方案1】:

根据 Luca 的想法使用 javascript 创建了一个解决方案,并且成功了。现在,当用户按下后退按钮时,表单将填充数据库中更新的和最新的数据。

<input type="hidden" id="refreshed" value="no">
    <script type="text/javascript">

           onload=function(){
               var e=document.getElementById("refreshed");
               if(e.value=="no")e.value="yes";
               else{e.value="no";location.reload();}
           }

    </script>

谢谢:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-07
    • 2023-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多