AngularJS http拦截器responseError从未使用IE9调用
我遇到了AngularJS http拦截器responseError从未使用IE9调用,angularjs,internet-explorer-9,angular-promise,angularjs-http,Angularjs,Internet Explorer 9,Angular Promise,Angularjs Http,我遇到了$http的问题。仅使用IE9配置超时。当请求被中止时,我的http拦截器永远不会被调用 还有其他人也面临这个问题吗 以下是我的http拦截器代码: (function() { 'use strict'; angular.module('core.httpInterceptor', [ 'core' ], ['$provide', function($provide) { $provide.factory('myHttpInter
$http的问题。仅使用IE9配置超时。当请求被中止时,我的http拦截器永远不会被调用
还有其他人也面临这个问题吗
以下是我的http拦截器代码:
(function() {
'use strict';
angular.module('core.httpInterceptor', [
'core'
], ['$provide', function($provide) {
$provide.factory('myHttpInterceptor',
['$rootScope', '$q',
function(scope, $q) {
return {
request: function(config) {
// BUSINESS CODE
return config || $q.when(config);
},
response: function(response) {
// BUSINESS CODE
return response || $q.when(response);
},
responseError: function(rejection) {
// NEVER CALLED WHEN ABORTED !
// BUSINESS CODE
return $q.reject(rejection);
}
};
}]);
}]);
}());
$http
请求代码:
$http.get(API_URL, {timeout: 5000})
.then(function(response) {
// BUSINESS LOGIC
}, function() {
// BUSINESS LOGIC
});
奇怪的是,对于其他状态代码(例如400),拦截器的工作方式与预期一致
AngularJS版本为:1.4.8
这个问题只发生在IE9上。有了IE10+、Chrome、Firefox,一切都像一个魅力