반응형
jQuery AJAX 오류 처리(HTTP 상태 코드)
오류에 대해 적절한 HTTP 상태 코드를 사용하고 JSON 인코딩된 응답과 적절한 응답으로 응답하는 API가 있습니다.Content-Type
header를 클릭합니다.제 사정은 입니다.jQuery.ajax()
를 트리거합니다.error
콜백은 HTTP 에러 상태가 발생했을 때 콜백이 아닌success
콜백(callback)을 실시하기 위해 JSON에 대한 알기 쉬운 응답이 있는 경우에도 다음과 같은 방법을 사용해야 합니다.
$.ajax({
// ...
success: function(response) {
if (response.success) {
console.log('Success!');
console.log(response.data);
} else {
console.log('Failure!');
console.log(response.error);
}
},
error: function(xhr, status, text) {
var response = $.parseJSON(xhr.responseText);
console.log('Failure!');
if (response) {
console.log(response.error);
} else {
// This would mean an invalid response from the server - maybe the site went down or whatever...
}
}
});
각각의 2개소에서 동일한 에러 처리를 실시하는 것보다 더 좋은 패러다임이 있습니까?jQuery.ajax()
전화요? 별로 드라이한 것도 아니고, 이런 경우의 좋은 에러 처리 방법에 대해 어딘가에서 놓친 것이 분명합니다.
체크 아웃
글로벌 Ajax 오류를 검출하여 다양한 방법으로 처리할 수 있습니다.
if (jqXHR.status == 500) {
// Server side error
} else if (jqXHR.status == 404) {
// Not found
} else if {
...
또는 글로벌 오류 핸들러 개체를 직접 생성하여 호출 여부를 선택할 수 있습니다.
function handleAjaxError(jqXHR, textStatus, errorThrown) {
// do something
}
$.ajax({
...
success: function() { ... },
error: handleAjaxError
});
언급URL : https://stackoverflow.com/questions/12734714/jquery-ajax-error-handling-http-status-codes
반응형
'programing' 카테고리의 다른 글
Angularjs $http 및 진행률 바 (0) | 2023.03.17 |
---|---|
JSON 모듈을 사용하여 예쁘게 인쇄할 때 사용자 지정 들여쓰기를 구현하는 방법은 무엇입니까? (0) | 2023.03.17 |
모든 도메인에 대해 문서 루트 외부에 CMS 설치 가능 (0) | 2023.03.17 |
WooCommerce 훅은 "결제 완료 후" 액션에 사용됩니다. (0) | 2023.03.17 |
React Native 앱을 브라우저에서 테스트할 수 있습니까? (0) | 2023.03.12 |