zoukankan      html  css  js  c++  java
  • 阻止表单重复提交的办法以及支付成功后页面后退重复提交的解决方案

    首先,是解决表单重复提交得问题,解决方法是重定向。http://www.cnblogs.com/zeussbook/p/8919684.html

    然而顾客在购买商品成功之后,后退到订单提交 或者 订单支付的页面再次提交请求怎么办呢?

    1. 首先,订单提交跳转到订单支付成功页面,重定向,那么订单信息肯定是存在session中,model是不行的。

    2.在后台订单支付成功之后,要删除session中得订单信息。

    3.再次回退上一个页面,获取session中得订单信息,就会报一个空指针,我们只需要捕获这个空指针,在session中保存一个提示信息:

      catch (NullPointerException n){ 

        request.getSession().setAttribute("error","操作已执行,请务重复提交!");

      }

    4.在jsp页面中,添加一个隐藏值保存空指针返回得提示信息。

      <input type="hidden" id="error" value="${error}">

    5.在js中加载时获取这个隐藏值,不为空则弹出提示框,跳转到指定页面

      ini();

         function ini(){

        var error=$("#error").val();

            if(error!="" && error!=undefined){

            changeDLGContent(error);
    openYesOrNoDLG();
    $('#yes').click(function () {
    cancleBtn();
    window.location.href=path+"/static/index";
    });
    }
    }
    6.在jsp页面加载完成之后,要删除session中得这个值,避免下一次正常提交被阻止。用JSP小脚本删除。
    <%
    if(null!=session.getAttribute("error")){
    session.removeAttribute("error");
    }
    %>
    效果如下:

    
    



  • 相关阅读:
    剑指offer字符串列表
    剑指offer数组3
    剑指offer数组2
    剑指offer数组1
    剑指offer数组列表
    tensorflow+ssd_mobilenet实现目标检测的训练
    Win7+keras+tensorflow使用YOLO-v3训练自己的数据集
    Java是如何实现跨平台的
    Xshell 、PuTTY 复制文件到Linux
    Asp.Net Core2.0在linux下发布
  • 原文地址:https://www.cnblogs.com/zeussbook/p/8968032.html
Copyright © 2011-2022 走看看