2014-04-10 2 views
0

실패했음을 나타내는 ajax 요청이 있습니다. 그리고 이유에 대한 정보가 없습니다. 내 코드는JQuery ajax 요청이 실패한 이유를 어떻게 알 수 있습니까?

$.getJSON("http://localhost:62178/document?filename=c:/test/dave.docx", function(data) { 
    console.log("read = " + data); 
}).done(function(e) { 
    console.log("second success"); 
}) 
    .fail(function(e) { 
     console.log("error"); 
    }) 
    .always(function(e) { 
     console.log("complete"); 
    }); 

피들러에 따르면 REST 쿼리는 200을 반환하고 반환되는 본문은 예상 한 JSON입니다. 이 (e)에 실패를 호출하고, 오브젝트 E 함수의 무리이고 단지 3 개 특성은 : readyState가 0 에서 responseText '' 하는 statusText "오류"

생성 JSON은 ASP에 의해 생성된다. NET Web API 2 및 그래서 나는 그것이 유효하다는 것을 매우 확신한다. 그리고 그것은 유효 해 보입니다. 형식은 다음과 같습니다.

{ 
success: true, 
document: { 
... 
    } 
} 

JQuery가 만족스럽지 않은 것을 어떻게 파악할 수 있습니까?

업데이트 : 문제점 (크로스 도메인 요청)을 알아 냈습니다. 하지만 원래의 질문은 남아 있습니다. 어떻게 fail() 함수에서 전달 된 vars로부터 ajax 요청이 실패했는지를 어떻게 알 수 있습니까?

답변

0

당신은해서 getJSON 호출 후 .fail 기능을 사용할 수 있습니다 (당신이 이미 가지고있는 것처럼) 및 출력 매개 변수과 같이 :

.fail(function(jqXHR, textStatus){ //ERROR 
    console.log('FAILURE: ' + textStatus); 
    console.log(jqXHR); 
}); 

지금 콘솔에보고 당신이 textStatus를 확인하실 수 있으며 것 jqXHR 객체를 참조하십시오. 이 개체에는 도움이 될만한 추가 정보가 들어 있습니다. 이 작동하는지 또는 뭔가 명확하지 않은 경우 알려주십시오! 감사!

+0

console.log (jqXHR); "result = undefined"를 출력하고 textStatus의 값은 "error"입니다. –

-1

실패 할 경우이 작업을 시도하십시오.

.fail(function(xhr){ 
    Response.Write 
    alert(xhr.responseText); 
    } 
+0

안녕하세요 - "xhr이 정의되지 않았습니다"가 표시됩니다. Repoonse의 목적은 무엇입니까? 그것은 유효한 javascript 문이 아닙니다. 뭔가 이해 못 하겠니? –

+0

'function (e)'는'function (xhr) '이어야합니다. – mix3d

+0

정확한 구문을 반영하도록 제 답변을 업데이트했습니다. – Ohjay44

관련 문제