2014-07-16 1 views
0

각 $ 리소스를 사용하여 요청이 성공적으로 이루어질 때 콜백 함수를 실행하고 싶습니다. 은 편안한 백엔드에을 보냈습니다. (백엔드 시간이 오래 걸릴 수 있으며 나는 단지 그것이 내가 보낸 데이터를받은 경우 알고 싶어요.)Ajax 요청이 성공적으로 전송 된 순간을 어떻게 잡을 수 있습니까?

내가 지금까지 찾은 유일한 것은 내가 알고도 관심이있을 것 resource.action.$promise['finally'](callback);

입니다 요청을 보낼 수 없을 때 (예 : 연결 문제)

고마워요!

빌드 모든 HTTP 요청 (like the one defined in the official documentation를) 차단 서비스 :

$provide.factory('myHttpInterceptor', function($q, dependency1, dependency2) { 
    return { 
     // optional method 
     'request': function(config) { 
     // do something on success 
     return config; 
     }, 

     // optional method 
    'requestError': function(rejection) { 
     // do something on error 
     if (canRecover(rejection)) { 
      return responseOrNewPromise 
     } 
     return $q.reject(rejection); 
     }, 



     // optional method 
     'response': function(response) { 
     // do something on success 
     return response; 
     }, 

     // optional method 
    'responseError': function(rejection) { 
     // do something on error 
     if (canRecover(rejection)) { 
      return responseOrNewPromise 
     } 
     return $q.reject(rejection); 
     } 
    }; 
    }); 

간단히 원하는 후크 내부에 코드를 넣어 여기에

답변

1

건조 방법입니다. 예를 들어 요청이 실패 할 경우 오류 모달 대화 상자를 그릴 수 있습니다.

app.config(['$httpProvider', function($httpProvider) { 
     // Add the interceptor to the $httpProvider to intercept http calls 
     $httpProvider.interceptors.push('myHttpInterceptor'); 

    }]); 
:

마지막으로, 응용 프로그램에 등록

관련 문제