jQuery Ajax Post多次提交表单

时间:2013-07-02 10:44:52

标签: ajax jquery post

我们有一个jsp表单,它在Button Click上提交给Struts2 Action Class。从Action类,控件流向Service(java)类和DAO(Java iBatis)类。 DAO类调用oracle pl / sql过程。

问题:

查看Action / Service / DAO&中的日志语句。 PL / SQL过程表明,单击一次按钮就会调用它们2/3次。它执行的次数非常随机,但它永远不会一次(仅在Staging服务器中部署的代码中)。

奇怪的是,当我们的代码部署在我们的开发和开发中时,此功能可以正常工作(仅调用一次)。生产服务器(Websphere 7.1) 。在我们的临时服务器中部署时完全相同的代码(EAR)面临此多次提交错误。

我们尝试过各种浏览器(IE 8和IE 9),只有当我们尝试访问我们的登台服务器中部署的应用程序时,才会出现此问题。

我们所有的发展,分期和生产Websphere服务器版本相同&补丁级别。

以下是我们用于提交的JavaScript代码。

 $(document).ready(function() {
                        mask();
                        var config = "${returnedCString}";

                        var f = "${flagS}";

                        if (f == "1"){
                            $.post('<%=request.getContextPath()%>/applyComp'
                                    ,function(data){
                                        unmask();

                                         $("#impactForm").attr('action','<%=request.getContextPath()%>/CompareForm');
                                         $("#impactForm").submit();     

                                    }

                             );
                }
}

问题是对以下Struts Action的POST是多次发生的事情

$.post('<%=request.getContextPath()%>/applyComp'

1 个答案:

答案 0 :(得分:1)

以这种方式添加提交操作:

$('.form_element').unbind('submit').bind('submit',function() {
    // do stuff here...
});