2015-12-29 44 views
0

我想爲$http響應設置全局配置。我必須跟蹤所有$http調用的響應。我發現角度文檔的全局標題設置,但我力圖找到如何設置全局設置來獲得響應值。

我試着用角截擊像波紋管:

app.config(['$httpProvider', function($httpProvider) { 
    $httpProvider.interceptors.push(function($q) { 
    return { 
    'response': function(response) { 

    } 
    }; 
    }); 
}]); 

但它不工作。它給出Error: response is undefined錯誤。怎麼做?

+3

顯然你要找的是「攔截器」。看看$ httpProvider.interceptors。您可以在發送前攔截請求,並在收到時回覆。 –

+0

謝謝@PierreEmmanuelLallemant。其實我是新來的角,所以我不知道該怎麼做。你可以發佈和舉例。 –

+1

https://docs.angularjs.org/api/ng/service/$http轉到「攔截器」部分。你必須創建一個攔截器工廠並註冊它。在那個工廠裏,你可以定義''response':function(response){return response; },它攔截每個成功的響應。如果需要,還有其他3種方法;) –

回答

1

最後我讓它工作。這裏是代碼。感謝PierreEmmanuelLalemant

app.config(['$httpProvider', function($httpProvider,$location) { 
    $httpProvider.interceptors.push(function($q) { 
    return { 
    'response': function(response) { 
     //do whatever with response 
return response; 
    }, 
    'responseError': function(rejection) { 
     if(rejection.status==404){ 
       //do whatever 
     } 
     // do something on error 

//  return $q.reject(rejection); 
    }, 
    }; 
    }); 
}]);