AngularJS $http requête ajax n'est pas asynchrone et les causes de la page d'accrocher

J'ai un service où je suis de l'extraction de données à partir du serveur. Quand je clique sur le bouton pour envoyer la requête au serveur par le biais de ce service, la fenêtre se fige jusqu'à ce que je reçois une réponse du serveur. Est-ce que je peux faire pour faire cette demande asynchrone ?

Voici mon service.

app.factory('service', function($http) {
  return {
    getLogData : function(startTime,endTime){
      return $http({
        url:     baseURL + 'getLogData',
        method:  'GET',
        async:   true,
        cache:   false,
        headers: {'Accept': 'application/json', 'Pragma': 'no-cache'},
        params:  {'startTime': startTime , 'endTime': endTime}
      });
    }
  };
)};

HTML.

<button ng-click="getData()">Refresh</button>
<img src="pending.gif" ng-show="dataPending" />

Code

$scope.getData = function(){
  service.getLogData().success(function(data){
    //process data
  }).error(function(e){
    //show error message
  });
}
Les appels Ajax ne devrait pas être synchrone. En face, vous n'avez même pas besoin async: true option. Pouvez-vous expliquer plus en détail comment votre fenêtre de gel? Comme tout n'est pas cliquable, de ne pas répondre?
Vous avez beaucoup de données retourné? L'appel ne devrait pas bloquer lors de l'appel ajax, mais j'imagine que ça pourrait bloquer si elle renvoie un grand nombre de données et les données de process" le code est peut-être lent.
Tout n'est pas cliquable. Je n'ai pas beaucoup de données, mais il faut du temps pour y arriver. Aussi, je suis en utilisant ng-grid à présent.

OriginalL'auteur lostpacket | 2013-09-27