programing

JQuery가 모든 Ajax 오류를 검색합니다.

telebox 2023. 9. 4. 19:44
반응형

JQuery가 모든 Ajax 오류를 검색합니다.

나는 아약스를 잡는 것을 좋아합니다.401 Unauthorised예외입니다. 하지만 모든 아약스 쿼리를 변경하고 싶지는 않습니다.$.ajax 호출에 대해 변경할 수 있는 방법이 있습니까? (임의의를 덮어씁니다.)error핸들러) ?

글로벌 Ajax 이벤트 핸들러 .ajaxError()를 사용할 수 있습니다.

$( document ).ajaxError(function( event, jqxhr, settings, exception ) {
    if ( jqxhr.status== 401 ) {
        $( "div.log" ).text( "Triggered ajaxError handler." );
    }
});

다음과 같은 작업을 수행할 수 있습니다.

$(function() {
    $.ajaxSetup({
        error: function(jqXHR, exception) {
            if (jqXHR.status === 401) {
                alert('HTTP Error 401 Unauthorized.');
            } else {
                alert('Uncaught Error.\n' + jqXHR.responseText);
            }
        }
    });
});

이것은 당신의 모든 것에서 오류가 발생할 것입니다.ajax전화가 걸려오는 전화.

$.ajaxSetup()함수를 사용하여 Ajax 호출에 대한 글로벌 옵션을 지정할 수 있습니다.하지만 다른 전화와 마찬가지로 주의해야 합니다.ajaxSetup()글로벌 옵션 및 지정된 로컬 옵션을ajax()메서드가 전역 설정을 재정의합니다.

문서화

사용해 보십시오..ajaxError()글로벌 방법으로 http://api.jquery.com/ajaxError/ .

잡으려면401상태 코드 단순 추가

  $.ajaxSetup({
    statusCode: {
      401: function(err){
        console.log('Login Failed.', err.responseJSON);
        // or whatever...
      }
    }
  });

AJAX 호출이 실행되기 전에 페이지로 이동합니다.

언급URL : https://stackoverflow.com/questions/17989961/jquery-catch-any-ajax-error

반응형