ProgramingTip

jquery ajax 호출 -.fail 대. : 오류

bestdevel 2020. 11. 2. 08:12
반응형

jquery ajax 호출 -.fail 대. : 오류


어느 것을 선호합니까?

다른 것보다 하나를 사용하는 이유가 있습니까?

오류 처리에 더 좋은가요?

$.ajax({
    url: url,
    data: { start: start, end: end }
}).done(function(data, textStatus, jqXHR) {
    $('#myElement').append(data);
}).fail(function() {
    // report error    
});

또는

$.ajax({
    url: url,
    data: { start: start, end: end },
    success: function(data, textStatus, jqXHR) {
        $('#myElement').append(data);
    },
    error: function(jqXHR, textStatus, errorThrown) {
        // report error
    }
});

두 옵션은 동일합니다.

그러나 promise 스타일 인터페이스 ( .fail().done())를 사용하면 응답을 처리하는 코드에서 요청을 생성하는 코드를 분리 할 수 ​​있습니다.

AJAX 요청을 전송하는 jqXHR 호출을 반환하는 함수를 다음 해당 함수를 다른 곳에서 호출하고 추가 할 수 있습니다.

.pipe()함수 와 결합 하면 promise 스타일 인터페이스는 여러 AJAX 호출을 수행 할 때 중첩을 줄이는데도 도움이됩니다.

$.ajax(...)
    .pipe(function() { 
        return $.ajax(...);
    })
    .pipe(function() { 
        return $.ajax(...);
    })
    .pipe(function() { 
        return $.ajax(...);
    });

이걸 새롭게하기 위해서 ...

성공 및 오류 접근 방식은 jQuery 1.8에서 더 이상 사용되지 않습니다.

jQuery Ajax

사용 중단 알림 : jqXHR.success (), jqXHR.error () 및 jqXHR.complete () 재발은 jQuery 1.8부터 사용되지 않습니다. 최종 제거를 위해 코드를 준비하기 대신 jqXHR.done (), jqXHR.fail () 및 jqXHR.always ()를 사용하십시오.


은 Using 체인 방식 이연 약속 스타일은 깔끔한 구조의 사용을 허용 항상 .

let data = {"key":"value"}

$.ajax({
    type: 'PUT',
    url: 'http://example.com/api',
    contentType: 'application/json',
    data: JSON.stringify(data), 
}).done(function () {
    console.log('SUCCESS');
}).fail(function (msg) {
    console.log('FAIL');
}).always(function (msg) {
    console.log('ALWAYS');
});

참고 URL : https://stackoverflow.com/questions/13168572/call-to-jquery-ajax-fail-vs-error

반응형