반응형
각도에서의 오류 처리JS http get 후 구성
AngularJS "http get then" 구성(약속)을 사용할 때 500과 같은 HTTP 오류를 어떻게 처리할 수 있습니까?
$http.get(url).then(
function(response) {
console.log('get',response)
}
)
문제는 200 이외의 HTTP 응답에서는 내부 함수가 호출되지 않는다는 것입니다.
다음 파라미터를 추가해야 합니다.
$http.get(url).then(
function(response) {
console.log('get',response)
},
function(data) {
// Handle error here
})
다음을 사용하여 이 부분을 보다 깔끔하게 만들 수 있습니다.
$http.get(url)
.then(function (response) {
console.log('get',response)
})
.catch(function (data) {
// Handle error here
});
유사한 to@this.lau_ 답변으로 접근 방식이 다릅니다.
$http.get(url).success(successCallback).error(errorCallback);
success Callback 및 error Callback을 함수로 바꿉니다.
편집: 로랑의 대답이 더 정확합니다. 로랑의 답은then
하지만 이 질문에 답할 분들을 위한 대안으로 여기 남겨두겠습니다.
서버 오류를 글로벌하게 처리하는 경우 $httpProvider에 대행 수신 서비스를 등록할 수 있습니다.
$httpProvider.interceptors.push(function ($q) {
return {
'responseError': function (rejection) {
// do something on error
if (canRecover(rejection)) {
return responseOrNewPromise
}
return $q.reject(rejection);
}
};
});
문서: http://docs.angularjs.org/api/ng.$http
이거 드셔보세요
function sendRequest(method, url, payload, done){
var datatype = (method === "JSONP")? "jsonp" : "json";
$http({
method: method,
url: url,
dataType: datatype,
data: payload || {},
cache: true,
timeout: 1000 * 60 * 10
}).then(
function(res){
done(null, res.data); // server response
},
function(res){
responseHandler(res, done);
}
);
}
function responseHandler(res, done){
switch(res.status){
default: done(res.status + ": " + res.statusText);
}
}
저는 위의 내용으로 작업을 할 수 없었습니다.그럼 이게 도움이 될 수도 있겠네요
$http.get(url)
.then(
function(response) {
console.log('get',response)
}
).catch(
function(response) {
console.log('return code: ' + response.status);
}
)
파라미터도 참조해 주세요.
언급URL : https://stackoverflow.com/questions/17080146/error-handling-in-angularjs-http-get-then-construct
반응형
'programing' 카테고리의 다른 글
Java에서 JSON 문자열로 지정된 이름과 값을 찾으려면 어떻게 해야 합니까? (0) | 2023.03.28 |
---|---|
ng-show(어레이 길이가 0일 경우) (0) | 2023.03.28 |
WordPress 테마 개발 - 템플릿 엔진 (0) | 2023.03.28 |
mysql과 oracle sql의 주요 차이점은 무엇입니까? (0) | 2023.03.28 |
wordpress - stackoverflow와 같은 인라인 에이잭스 코멘트가 있습니다. (0) | 2023.03.28 |