programing

Jquery Ajax 오류 콜백

i4 2023. 3. 7. 21:05
반응형

Jquery Ajax 오류 콜백

제안이나 설명이 필요합니다.아약스한테 전화할 게다

$.ajax({
 type: "GET",
 url: base_url+'/ajax/fetch/counts/',
 dataType: 'json',
 data: {},
 error: function(xhr, error){
        console.debug(xhr); console.debug(error);
 },
 success: display_counts
});

잘 되고 있어요.나의success콜백은 응답으로 올바르게 기동합니다.하지만 제가 깨달은 건error콜백은 콜이 성공 상태 200을 반환한 경우에도 매번 실행됩니다.상기의 경우error콜백, 그 오브젝트가 보입니다.xhr.status200 입니다.

뭐가 잘못됐는지, 여기서 무슨 일이 일어나고 있는지 설명할 수 있는 사람? error콜백은 404 또는 200 이외의 응답이 있을 때만 발생합니다.제 추측이 맞습니까?

감사해요.

제안입니다. $.ajaxSetup()을 사용하여 다음과 같은 올바른 오류를 확인합니다.

$(function() {
    $.ajaxSetup({
        error: function(jqXHR, exception) {
            if (jqXHR.status === 0) {
                alert('Not connect.\n Verify Network.');
            } else if (jqXHR.status == 404) {
                alert('Requested page not found. [404]');
            } else if (jqXHR.status == 500) {
                alert('Internal Server Error [500].');
            } else if (exception === 'parsererror') {
                alert('Requested JSON parse failed.');
            } else if (exception === 'timeout') {
                alert('Time out error.');
            } else if (exception === 'abort') {
                alert('Ajax request aborted.');
            } else {
                alert('Uncaught Error.\n' + jqXHR.responseText);
            }
        }
    });
});

오류 콜백은 http 오류에 대해 호출되지만 응답에 대한 JSON 해석에 실패한 경우에도 호출됩니다.응답 코드가 200인 경우에도 에러 콜백이 발생할 수 있습니다.

최근의 질문에서도 같은 문제가 있었습니다.jsonjquery 요청, 주변 제거 시도()당신의 json 응답으로부터.

생각할 수 있는 몇 가지 사항:

  1. 다음 설정에 의해 캐시를 비활성화했는지 확인합니다.cache: false.
  2. Firefox를 사용하는 경우 Firebug 및 Net 탭을 사용하여 요청을 모니터링해 보십시오.
  3. 브라우저의 JSON 파서에 의존하지 마십시오.저는 이것을 추천합니다.JSON의 크리에이터인 https://github.com/douglascrockford/JSON-js/blob/master/json2.js도 마찬가지입니다.

저는 jQuery 전문가는 아니지만, PROType.js를 사용하면 요청이 성공했을 때 AJAX 오류 핸들러가 실행되지만success핸들러가 에러를 일으킵니다.jQuery에서도 같은가요?이게 무슨 일이 일어나고 있는지 테스트하려면display_counts번에...캐치 블록

바꾸다dataType부터plain/text로.html

언급URL : https://stackoverflow.com/questions/3642348/jquery-ajax-error-callback

반응형