2009-06-21 4 views
10

jQuery에서 Ajax 요청으로 인해 정의되지 않은 오류가 발생했습니다. 하지만 로컬로 작동합니다. 3633 라인 @ jquery1.3.2.js에서 참조하는 오류jQuery XMLHttpRequest 오류

xhr.send(s.data); 

내 코드는 다음과 같습니다 코드

$.ajax({ 
    type: "POST", 
    url: 'index.php', 
    data: "action=showpath&type=images&path=&default=1", 
    cache: false, 
    dataType: "html", 
    success: function(data){ 
     $('#addr').html(data); 
    }, 
    error:function (xhr, ajaxOptions, thrownError){ 
      alert(xhr.status); 
      alert(thrownError); 
    }  
}); 

경고를 보여줍니다 나 (0, '정의되지 않은');

내가 뭘 잘못하고있어?

답변

23

완료되기 전에 아약스 요청이 취소되면 이런 일이 발생할 수 있습니다. jQuery는 사용자가 새로 고침하거나, 링크를 클릭하거나, 브라우저에서 URL을 변경하여 페이지에서 벗어날 때 오류 이벤트를 발생시킵니다. ajax 호출에 대한 오류 처리기를 구현하고 xmlHttpRequest 객체를 검사하여 이러한 유형의 오류를 감지 할 수 있습니다.

$.ajax({ 
    /* ajax options omitted */ 
    error: function (xmlHttpRequest, textStatus, errorThrown) { 
     if(xmlHttpRequest.readyState == 0 || xmlHttpRequest.status == 0) 
       return; // it's not really an error 
     else 
       // Do normal error handling 
}); 
0

나중에 말할 수는 없지만 index.php의 서버 측에있는 것일 수 있습니다. 가장 좋은 방법은 http 디버거를 사용하여 원시 응답을 보는 것입니다. Firebug 파이어 폭스 확장 프로그램은 꽤 좋은 파일이며, fidder2은 아주 좋은 옵션입니다.

+0

방화 광으로 테스트했습니다. 잘못된 응답이 표시되지만 자체 상태는 200 - OK입니다. Ajax 요청은 설명없이 ajaxError를 반환합니다. –

+0

동일한 문제 설명을 찾은 분 http://www.mail-archive.com/[email protected]/msg65106.html 그래도 해결책이 없습니다. –