Program Club

jQuery .get 오류 응답 기능?

proclub 2020. 11. 12. 20:29
반응형

jQuery .get 오류 응답 기능?


StackOverflow 덕분에 다음 코드가 완벽하게 작동하도록 관리했지만 후속 질문이 있습니다.

$.get('http://example.com/page/2/', function(data){ 
  $(data).find('#reviews .card').appendTo('#reviews');
});

위의 코드를 통해 내 사이트에서 WordPress의 추가로드 버튼으로 기사의 두 번째 페이지를 가져올 수 있습니다. 그러나 사이트에 페이지 / 결과가 부족하면 작은 문제가 발생합니다. 추가로드 버튼은 그대로 유지됩니다. 페이지가 남아 있지 않아도 데이터를 계속 가져 오려고합니다.

.get예를 들어 요청이 실패하거나 (404) 찾을 수없는 페이지 인 경우 시각적 응답을 표시 할 수 있도록이 명령을 어떻게 조정할 수 있습니까?

누군가의 간단한 예제로 나를 도울 수 있다면 alert("woops!");그것은 굉장 할 것입니다!

감사!


$.get오류 처리기를 설정할 기회가 없습니다. $.ajax대신 저수준 함수 를 사용해야합니다 .

$.ajax({
    url: 'http://example.com/page/2/',
    type: 'GET',
    success: function(data){ 
        $(data).find('#reviews .card').appendTo('#reviews');
    },
    error: function(data) {
        alert('woops!'); //or whatever
    }
});

2010 년 3 월 편집

jqXHRjQuery 1.5 의 새 객체 를 사용하면 다음을 호출 한 후 오류 처리기를 설정할 수 있습니다 $.get.

$.get('http://example.com/page/2/', function(data){ 
    $(data).find('#reviews .card').appendTo('#reviews');
}).fail(function() {
    alert('woops'); // or whatever
});

당신은 설치 할 수있는 일반 오류를 원하는 경우 모두 $.ajax()(이 $.get()용도는 아래에) jQuery를 사용 오류를 표시 할 수 요청 $.ajaxSetup(), 예를 들어 :

$.ajaxSetup({
  error: function(xhr, status, error) {
    alert("An AJAX error occured: " + status + "\nError: " + error);
  }
});

AJAX 호출을하기 전에 이것을 한 번만 실행하십시오 (현재 코드를 변경하지 않고 어딘가 앞에 붙이십시오). 이렇게하면 error옵션이 기본적 으로 위의 핸들러 / 함수 설정 되며, 전체 $.ajax()호출을 수행하고 error핸들러를 지정한 경우 보유한 것이 위의 것보다 우선합니다.


responseText 속성을 사용하여 세부 오류를 얻을 수 있습니다.

$.ajaxSetup({
error: function(xhr, status, error) {
alert("An AJAX error occured: " + status + "\nError: " + error + "\nError detail: " + xhr.responseText);
     } 
    });

오류 응답을 .fail()위해 콜백을 연결할 수 있습니다 .

$.get('http://example.com/page/2/', function(data){ 
   $(data).find('#reviews .card').appendTo('#reviews');
})
.fail(function() {
  //Error logic
})

참고URL : https://stackoverflow.com/questions/4062317/jquery-get-error-response-function

반응형