我有一個攔截器,收到401(未經授權)。角度ErrorInterceptor發射兩次
一切看起來不錯,但是當我做一個單一的請求時,攔截器被激發兩次。非常奇怪。
App.factory('HttpResponseInterceptor', ['$q', '$injector', '$location','ModalService', function ($q, $injector, $location, ModalService) {
return {
responseError: function (response) {
if (response.status === 401) {
console.log("401");
}
return $q.reject(response);
}
}
}]);
App.config(['$httpProvider', function ($httpProvider) {
$httpProvider.interceptors.push('HttpResponseInterceptor');
}]);
我得到的鉻調試控制檯「2401」,這意味着它被解僱了兩次
這裏是觸發該網絡call.Its只觸發一次,我通過撥弄檢查它的代碼。
控制器:
angular.module('App')
.controller('HomeCtrl',['$scope','$http', function ($scope, $http) {
$scope.Open = function() {
$http.get('/Home/GetSum').
then(function (response) {
alert(response);
});
}
}])
和視圖:
<button ng-controller="HomeCtrl" ng-click="Open()">OPEN</button>
請注意,我用的UI路由器。
有可能請求被罰兩次,得到了同樣的結果兩次。我們可以看到提出請求的代碼嗎?或嘗試添加一些日誌語句到那裏,看看是否只運行一次 – electrometro
我有一個控制檯打開(小提琴),它的調用只有一次。我會發布代碼,它的一個簡單的按鈕點擊發布到我的端點。 – TotalWar