IT/제이쿼리

제이쿼리 .ajaxError (handler)

조원태 2017. 8. 1. 11:13
반응형


제이쿼리 .ajaxError (handler)

설명 : Ajax 요청이 오류와 함께 완료 될 때 호출 할 핸들러를 등록하십시오. 이것은 Ajax 이벤트 입니다.


Ajax 요청이 오류와 함께 완료 될 때마다 jQuery가 ajaxError이벤트를 트리거한다 . .ajaxError()메소드 에 등록 된 모든 핸들러 는이 시점에서 실행됩니다. 참고 : 이 처리기는 도메인 간 스크립트 및 교차 도메인 JSONP 요청에 대해 호출되지 않습니다.


이 메소드의 작동을 관찰하려면 기본 Ajax로드 요청을 설정하십시오.


<button class="trigger">Trigger</button>

<div class="result"></div>

<div class="log"></div>


문서에 이벤트 처리기를 연결하십시오.


$( document ).ajaxError(function() {

  $( ".log" ).text( "Triggered ajaxError handler." );

});

이제 jQuery 메서드를 사용하여 Ajax 요청을 작성하십시오.

$( "button.trigger" ).on( "click", function() {

  $( "div.result" ).load( "ajax/missing.html" );

});

사용자가 버튼을 클릭하고 Ajax 요청이 실패하면 요청 된 파일이 누락되어 로그 메시지가 표시됩니다.


ajaxErrorAjax 요청이 완료되었는지 여부에 관계없이 모든 핸들러가 호출됩니다. 요청을 구별하려면 처리기에 전달 된 매개 변수를 사용하십시오. ajaxError처리기가 실행될 때마다 이벤트 객체, jqXHR객체 (jQuery 1.5 이전 XHR객체) 및 요청 생성에 사용 된 설정 객체가 전달됩니다. HTTP 오류가 발생하면 네 번째 인수 ( thrownError)는 HTTP 상태의 텍스트 부분 (예 : "찾을 수 없음"또는 "내부 서버 오류")을받습니다. 예를 들어 특정 URL을 처리하는 이벤트 만 처리하도록 오류 콜백을 제한하려면 다음을 수행하십시오.

$( document ).ajaxError(function( event, jqxhr, settings, thrownError ) {

  if ( settings.url == "ajax/missing.html" ) {

    $( "div.log" ).text( "Triggered ajaxError handler." );

  }

});


예:

Ajax 요청이 실패하면 메시지를 표시합니다.


$( document ).ajaxError(function( event, request, settings ) {

  $( "#msg" ).append( "<li>Error requesting page " + settings.url + "</li>" );

});

반응형