防止页面刷新后插入重复数据

        在web项目中防止用户刷新页面插入重复数据是开发人员必须考虑的异常情况之一。我的解决方法是当用户完成添加操作之后,将url指向查询action。例如:用户执行完添加操作时地址栏中的url如下:http://127.0.0.1:8080/MijItem/admin/logisticsAction!addLogisticsSendInfo.action
此时,要让它转到从一览画面点击修改后执行的那个方法:http://127.0.0.1:8080/MijItem/admin/logisticsAction!toEditLogistics.action。采用的方法是ajax提交后指向查看action。具体代码如下:

function addSendInfo(){
	var delegate_id = $.trim($('#delegate_id').val());
	var logisticNO = $.trim($('#logisticNO').val());
	var carryNo = $.trim($('#carryNoForest').val());
	if($("#sForm").valid()){
		$.ajax({
		  type:"POST",
		  url:"admin/logisticsAction!checkCarryNo.action",
		 data: {carryNoForest:carryNo,delegate_id:delegate_id,logisticNO:logisticNO,pageCurr:pageCurr},
		 dataType: "text",
		 success:function(html){
			if(html=="success"){
				$.ajax({
				type:"POST",
				url:"admin/logisticsAction!addLogisticsSendInfo.action",
				data: {delegate_id:delegate_id,logisticNO:logisticNO,},
				dataType: "text",
				success:function(html){
				if(html=="success"){
				    $("#sForm").attr("action","<%=contextPath%>/admin/logisticsAction!toEditLogistics.action");
				    $("#sForm").submit();
				  } else {
				      jqDialog.alert("<s:text name='struts.webui.logistics.label.OperationFailedPleaseTryLater'/>");
						}
					}
				});
			} else {
				jqDialog.alert("<s:text name='struts.webui.logistics.label.carryNoExists'/>");
					}
				}
			});
		}
	}

后台方法执行成功后返回success字符串,ajax判断成功后执行toEditLogistics.action并将表单提交。如果执行失败,弹出操作失败消息框。这样处理既可以防止页面刷新插入重复数据,也可以根据后台返回的字符串做排他判断。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值