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

原创 2012年03月22日 16:22:18

        在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并将表单提交。如果执行失败,弹出操作失败消息框。这样处理既可以防止页面刷新插入重复数据,也可以根据后台返回的字符串做排他判断。

相关文章推荐

.net 防止页面刷新重复提交(表单提交后保留上一次数据缓存,刷新提交)

解决方案参考: http://blog.csdn.net/zhanglei5415/article/details/6060906 http://msdn.microsoft.com/zh-c...
  • Gcctt
  • Gcctt
  • 2011年09月19日 15:01
  • 693

php 防止页面刷新重复提交

一.使用session防止重复提交  其实跟验证码一样的原理,主要是生成session和input隐藏域, 这边我的代码是在一个页面中处理。 ...

JSP中如何防止页面刷新重复提交

在WEB开发中都会碰见这样的情况,就是用户在进行了一项操作后按F5刷新页面会重复提交页面的问题。   先了解下浏览器按F5会发生什么事,在按下F5后浏览器并不是简单的刷新页面,而是模拟上一次的...

java防止页面刷新重复提交

看了网上的,有几种方法: 1 在你的表单页里HEAD区加入这段代码: 2 生成一个令牌保存在用户session中,在form中加一个hidden域,显示该令 牌的值,...
  • JasonSSH
  • JasonSSH
  • 2012年05月02日 16:32
  • 12871

web项目防止页面刷新重复提交的方法

看了网上的,有几种方法: 1 在你的表单页里HEAD区加入这段代码: 2 生成一个令牌保存在用户session中,在form中加一个hidden域,显示该令 牌的值,...

防卡页面刷新重复提交

  • 2008年07月08日 23:59
  • 10KB
  • 下载

Jquery easyui datagrid在IE 9浏览器下,删除数据后,页面刷新数据仍显示的问题。

最近在学着使用Jquery easyui,遇到了不少问题。 下面这个就是让我比较头疼的一个:Jquery easyui datagrid在IE 9浏览器下,删除数据后,页面刷新数据仍显示的问题。 ...

asp.net防止页面刷新的办法

  • 2011年11月21日 10:42
  • 41KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:防止页面刷新后插入重复数据
举报原因:
原因补充:

(最多只允许输入30个字)