2012-04-06 2 views
1

존재하지 않는 리소스 (웹 서버와 동일한 호스트)를로드하려고 할 때 어떤 결과가 발생하는지 테스트하려면 다음 코드를 설정하십시오.

대신 내 DIV 메시지 sorry, could not find URL을 보여 보는
var wrongURL = "http://foo/bar.json"; // non-existent resource 
$.ajax({ 
    url: wrongURL, 
    dataType: 'json', 
    success: function(jsonResponse, textStatus, jqXHR) { 
     $.('#divOfInterest').html("you should never see this"); 
    }, 
    error: function(jqXHR, textStatus, errorThrown) { 
     $.('#divOfInterest').html("sorry, could not find URL"); 
    } 
}); 
// remainder of code... 

, 내가 콘솔 오류 얻을 다음 $.ajax() 블록 error 호출 내에서 이후

GET http://foo/bar.json 404 (Not Found) - bar.json 

아무것도 (즉, // remainder of code는)

,369 실행되지 않습니다

내 브라우저 (Safari 5.1.5)가 404 오류에서 멈추고 기능을 일찍 끝내는 것처럼 보입니다.

오류를 정상적으로 처리하고 나머지 코드는 어떻게 처리합니까?

+0

사파리에서도 작동합니다. 5.0.2 – ocanal

답변

1

그냥 $('#divOfInterest')$.('#divOfInterest') 대체 : D

데모 : http://jsfiddle.net/9Ua8J/ 당신이 실제로 실행되도록하는 오차 함수에 대한 오류 상태를 반환하는 서버가 필요합니다 나의 이해에서

+0

아니요,이 실수는 분명히 오류와 관련이 없습니다. – freakish

+0

점으로 그것은 오류를 보여줍니다 : 'XML 필터는 비 XML 값에 적용됨'출력 없음, http://jsfiddle.net/SuHDP/ – stewe

+1

예, 아약스 호출이 실제로 콜백을 입력한다고 가정합니다 . 그러나 신중하게 질문을 읽으십시오 : 존재하지 않는 리소스에 연결하려고 할 때 JavaScript가 충돌합니다. 또한 jsFiddle 작품도 낯선 사람이지만 올바른 JS로 Chrome에서 오류를 재현 할 수있었습니다. – freakish

2

.

예를 들어 Soundcloud에서 존재하지 않는 사용자에 대해 JSON 객체를 요청하면 서버에서 404 오류가 반환됩니다.

전체 URI를 잘못 입력했지만 리소스가 전혀 반환되지 않으며 상태 코드도 반환되지 않습니다.

+0

사실 상태는 0입니다. jqXHR.status === 0을 확인하십시오. – Hoffmann

관련 문제