서버를 중단시키고 Ajax 요청을하면 firebug는 요청을 한 후 몇 초가 지나면 요청을 중단하고 내 success
처리기가 호출되는 것을 보여줍니다.
성공 핸들러가 호출되는 이유는 무엇입니까? 오류 핸들러가 아니어야합니까? 그리고 실제로 성공하지 못했음을 어떻게 신뢰성있게 감지 할 수 있습니까?
CODE :
$.ajax({
url: url,
type: "POST",
data: data,
dataType: "json",
success:function(data, statusText, xhr){
//gets called on success, or even when server is down.
},
error: function(){
//called if server returns error, but not if it doesn't respond
}
});
UPDATE : 내 개발 서버를 끄지 때이 문제는 로컬 호스트에, 그것은 발생합니다. 프로덕션 서버에 연결하려고 시도했지만 내 개인 인터넷을 오프라인으로 만들 때 어떤 일이 발생하는지 테스트 한 결과 성공 또는 오류를 전혀 호출하지 않고 중단됩니다. 시간 초과 속성을 설정해야합니다.
긍정적 아니,하지만 어쩌면'abort'의 반응은'fail' 다르다? 코드를 게시 할 수 있습니까? – hookedonwinter
아마도 : http://stackoverflow.com/questions/2357147/ajax-how-to-prevent-jquery-from-calling-the-success-event-after-executing-xmlhtt –
어떻게 서버를 다운 시키십니까? 완전히 도달 할 수 있습니까, 아니면 404 페이지를 제공합니까? –