programing

jQuery AJAX 오류 처리(HTTP 상태 코드)

goodsources 2023. 3. 17. 21:26
반응형

jQuery AJAX 오류 처리(HTTP 상태 코드)

오류에 대해 적절한 HTTP 상태 코드를 사용하고 JSON 인코딩된 응답과 적절한 응답으로 응답하는 API가 있습니다.Content-Typeheader를 클릭합니다.제 사정은 입니다.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

반응형