In angular we can set up a button to send ajax requests like this in view:
... ng-click=\"button-click\"
and in controller:
First you'd better add ngDblclick, when it detects the double click just return false
:
<ANY ng-click="buttonClicked()" ng-dblclick="return false">
If you want to wait for the Ajax call to be finished, then you can disable the button by setting the ng-disabled
<ANY ng-click="buttonClicked()" ng-dblclick="return false;" ng-disabled="flag">
And in your controller, you can do
$scope.flag = false;
$scope.buttonClicked = function() {
$scope.flag = true;
Service.doService.then(function(){
//this is the callback for success
$scope.flag = false;
}).error(function(){
//this is the callback for the error
$scope.flag = false;
})
}
You need to handle both case when the ajax call is successfull or failed, since if it is failed, you don't want it show as diabled to confuse user.