Java 在angularjs中防止多个HTTP POST请求

Java 在angularjs中防止多个HTTP POST请求,java,angularjs,hibernate,Java,Angularjs,Hibernate,我使用angularjs、java和hibernate构建了一个复杂的web应用程序 我正在使用http请求保存表单数据 $http({ method : 'POST', url : $scope.servlet_url, headers : {'Content-Type' : 'application/json'}, data : $scope.deals }).success(function(data) { }).error(function(data) { }

我使用angularjs、java和hibernate构建了一个复杂的web应用程序

我正在使用http请求保存表单数据

$http({
   method : 'POST',
   url : $scope.servlet_url,
   headers : {'Content-Type' : 'application/json'},
   data : $scope.deals
}).success(function(data) {

}).error(function(data) {

});
我使用的是angular版本1.2.19

点击“保存”按钮时,该请求将被表单中可用的数据触发,并移动到数据库中保存数据的服务器。在保存到数据库之前,会进行许多验证,并获取一些与表单数据相关的外部数据。因此,它需要一些时间来保存。(根据提供的表格数据,大约需要5到7分钟)。数据保存后,我将根据提供的响应重定向到另一个页面

但在我的案例中,响应需要时间,同时,同样的请求会在没有任何线索的情况下再次触发。代码中没有调用请求的位置,但是请求被触发。这有点令人困惑

但如果保存时间少于5分钟,同样的代码也可以正常工作。如果超过5分钟,它将进入一个无限循环,保存的次数与触发请求的次数相同。第一个请求的响应击中了angular控制器,但控制器没有识别响应,这意味着在这种情况下我们无法处理响应。如果发生这种情况,页面会被击中,我们需要手动刷新或移动页面

有没有办法防止angularjs中的重复请求?如果有办法的话,谁能帮我实现呢


提前谢谢。

我想如果处理这么长时间,你应该重新考虑后端发生的事情,或者尝试优化它。@DonaldJansen-我已经优化了后端代码。没有其他方法可以减少服务器中的进程。还有其他方法可以防止吗?我想如果需要那么长的时间来处理,你应该重新考虑后端发生了什么,或者尝试优化它。@DonaldJansen-我已经优化了后端代码。没有其他方法可以减少服务器中的进程。还有其他方法可以防止吗?