그래서 매번 응답으로 200을 반환하는 서버가 있습니다. 오류에 대한 응답을 확인해야합니다. response.data.error
오류가 발견되면 http 요청을 응용 프로그램 코드의 catch 메서드에 보내야합니다. 여기
요격 코드
// interceptor code
{
response:function(response){
if (response.data.error) {
return $q.reject(response)
}else{
return response
}
},
responseError:function(rejection){
// error handling logic
return $q.reject(rejection)
}
}
응용 프로그램 코드는
// application code
$http.get('/api/stuff')
.then(function(){
// do success stuff
}).catch(function(){
// the function i want to run!!!
})
'$ http.get ('aaa')'와 같이 임의 ** URL **을 입력하면 어떻게됩니까? 'catch '를 호출합니까? – developer033
게시 된 코드가 예상대로 작동해야합니다. 이 접근 방식에 문제가있는 경우 [MCVE] (http://stackoverflow.com/help/mcve)에 fiddle/plunk를 제공하십시오. – estus
오케이 soooo가 내 응용 프로그램과 뭔가 있어야합니다. 방금 plunkr을 만들었고 https://plnkr.co/edit/ZpwSMW66EnUtP78QhVV9?p=preview –