Angular $http 未处理错误
Angular $http not handling error
我的 angular 应用程序不处理 $http 调用中的错误。
我在 errorResponse 中有一个 $httpProvider
,其中我 return $q.reject(response)
按照文档的要求。在控制台中 angular 只是把 angular.min.js:99 GET http://localhost:8080/my/api 500 (Internal Server Error)
.
代码
console.log('before');
$http.get('/my/api', function(response){
console.log('ok');
console.log(response);
}, function(response){
console.log('not ok');
console.log(response)
});
console.log('after');
我刚收到 'before'、'after' 和上面的消息。
同样在网络选项卡中,我从服务器获得了预期的响应,状态为 500,正文中有 json 内容。
除了 $httpProvider 的 errorResponse 没有 return $q.reject() 之外,可能是什么问题?
你有语法错误,你应该使用.then
函数,然后将成功和错误回调给他们。
代码
$http.get('/my/api').then(function(response){
console.log('ok');
console.log(response);
}, function(response){
console.log('not ok');
console.log(response)
});
根据您的 code/question 我的理解是,您希望执行 error
回调函数,但它并没有这样做。如果我错过了什么,请在评论中提出同样的问题。
我的 angular 应用程序不处理 $http 调用中的错误。
我在 errorResponse 中有一个 $httpProvider
,其中我 return $q.reject(response)
按照文档的要求。在控制台中 angular 只是把 angular.min.js:99 GET http://localhost:8080/my/api 500 (Internal Server Error)
.
代码
console.log('before');
$http.get('/my/api', function(response){
console.log('ok');
console.log(response);
}, function(response){
console.log('not ok');
console.log(response)
});
console.log('after');
我刚收到 'before'、'after' 和上面的消息。
同样在网络选项卡中,我从服务器获得了预期的响应,状态为 500,正文中有 json 内容。
除了 $httpProvider 的 errorResponse 没有 return $q.reject() 之外,可能是什么问题?
你有语法错误,你应该使用.then
函数,然后将成功和错误回调给他们。
代码
$http.get('/my/api').then(function(response){
console.log('ok');
console.log(response);
}, function(response){
console.log('not ok');
console.log(response)
});
根据您的 code/question 我的理解是,您希望执行 error
回调函数,但它并没有这样做。如果我错过了什么,请在评论中提出同样的问题。