在angularjs中防止多个HTTP POST请求

时间:2017-01-25 05:58:29

标签: 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) {

});

我使用角度版本1.2.19。

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

但是在我的情况下,响应需要花费时间,同时在没有任何线索的情况下再次触发相同的请求。在代码中没有调用请求的地方,但是请求被触发。这有点令人困惑。

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

有没有办法阻止angularjs中的重复请求?如果有办法,有人可以帮助我实现它。

提前致谢。

0 个答案:

没有答案