2013-01-23 2 views
1

을 호출합니다. 웹 리소스 위치에서 다양한 XML을 가져온 다음 DOM에 표시 할 프로토 타입을 만들고 있습니다.AJAX JQUERY의 "정의되지 않은"오류 응답이 XML 파일

다음은 기능

function readXML() 
{ 
    $.ajax({ 
     type: "GET", 
     url: "https://collaboratewiki.com/wikiattachments/61736956/engineer.xml", 
     dataType: "xml", 
     success: function(xml) 
     { 
      window.alert("success") 
     }, 
     error: function(xhr,err) 
     { 
      alert("readyState: "+err.readyState+"\nstatus: "+err.status); 
      alert("responseText: "+err.responseText); 
     } 
}); 


} 

에게 있습니다 나는 그것이 오류 케이스로 이동이 함수를 호출하지만 난 내 메시지 출력에서 ​​"정의되지 않음"을 얻을 때. 내 XML을 가져올 수 있지만 도움이되지에서 모든 출력을 할 수없는 이유

enter image description here

나는 알 필요가있다.

AJAX 호출과 관련된 모든 오류 정보를 어떻게 얻을 수 있습니까?

"err.responseText", "xhr.responseText"대신 시도했지만 아직 정의되지 않았습니다.

감사

documentation에서
+0

추신을 그 HTTPS 때문일 수 있습니까? – kaleeway

+0

콘솔에서 다른 오류가 발생하고 있습니까? –

답변

7

:

오류

유형 : 기능 (jqXHR jqXHR, 문자열 textStatus, 문자열 errorThrown) 두 번째와 세 번째 인수가 문자열

있습니다 객체가 아니기 때문에 추가 속성이 없습니다. 얻을 수있는 것 중 일부 (예 : readyState)는 err (단순한 문자열 임)이 아닌 코드의 xhr 개체에서 사용할 수 있습니다.

이 같은 것을 시도 할 수 있습니다 :

error: function(xhr,textStatus,err) 
{ 
    console.log("readyState: " + xhr.readyState); 
    console.log("responseText: "+ xhr.responseText); 
    console.log("status: " + xhr.status); 
    console.log("text status: " + textStatus); 
    console.log("error: " + err); 
} 
+1

Jquery 문서를 실제로 이해하지는 않지만 이해가되지 않습니다. 제게 코드 해결책을주세요. – kaleeway

+0

@loosebruce 코드 스 니펫으로 업데이트됩니다 (해당 속성을 사용할 수 있다고 보장 할 수는 없지만 그렇다고 생각합니다). 실제로 설명서를 이해하는 방법을 배워야하지만 대부분의 질문에 답할 것입니다. 핵심 부분은 전달 된 인수의 * types *입니다. 문자열을 객체로 사용하려고했습니다. –

+0

좋아, 지금까지 시도한 결과는 readystate = 0, responsetext = "", status = 0, textstatus = "error"m error = ""입니다. 이것은 무엇을 의미합니까? – kaleeway

0
   $("#box #tozihat .x1").click(
       function() 
       { 
        var id=0 
        var length=''; 
        id=$(this).attr('id'); 
        length=$("#bordersabad #"+id+"").length; 



        $.ajax({ 
         type:'post', 
         url:"sabad.php", 
         data:{idmahsool:id} 
         }) 
         .done(function(){ 

          if(length==1){ 
           var tedad=0; 
           tedad=$("#bordersabad #"+id+"#tedad").html(); 
           alert(tedad); 
          } 
          else 
          { 
          } 

         }) 

       }) 
+0

이 답변을 확대 할 수 있습니까? http://stackoverflow.com/help/how-to-answer –