HTTP 응답 코드 0은 AJAX 요청이 취소되었음을 나타냅니다.
이는 시간 초과, XHR 중단 또는 요청시 방화벽이 멈춤으로써 발생할 수 있습니다. 시간 초과는 일반적이며 요청이 지정된 시간 내에 실행되지 않았 음을 의미합니다. XHR 낙태는 매우 간단합니다. 실제로 XMLHttpRequest 객체에서 .abort ()를 호출하여 AJAX 호출을 취소 할 수 있습니다. ( 이것은 AJAX 호출을 반환하고 파괴 된 객체를 참조하려고 시도하지 않으려는 경우 단일 페이지 응용 프로그램에 좋습니다. ) 표시된 답변에서 언급했듯이 방화벽은 요청을 취소하고이를 트리거 할 수 있습니다 응답이 없습니다.
XHR 중단 : jQuery를 사용하여 Ajax 요청 중단
var xhr = $.ajax({
type: "POST",
url: "some.php",
data: "name=John&location=Boston",
success: function(msg){
alert( "Data Saved: " + msg );
}
});
//kill the request
xhr.abort()
XHR 객체에서 .abort () 메소드를 실행하면 오류 콜백이 발생한다는 점에 주목할 가치가 있습니다. 이러한 객체를 구문 분석하는 모든 종류의 오류 처리를 수행하는 경우 중단 된 XHR과 시간 초과 XHR이 동일하지만 jQuery를 사용하면 오류 콜백에 전달 된 textStatus가 중단되면 "중지"됩니다. 시간 종료 상태의 "시간 종료"가 발생합니다. Zepto (jQuery와 매우 유사)를 사용하는 경우 errorType은 중단되면 "error"이고 시간 초과가 발생하면 "timeout"입니다.
jQuery: error(jqXHR, textStatus, errorThrown);
Zepto: error(xhr, errorType, error);