2011-11-10 6 views
1

저는 Ajax를 통해 탭 컨텐트를로드하는 "게으른"로드와 함께 프로젝트에 jQuery 탭을 사용하고 있습니다.jQuery 탭로드 404 페이지

하지만 오타가 발생하고 Rails 프레임 워크에서 HTTP 404 오류 페이지를 표시하면 Tab이 페이지를로드하지 않고 오류 정보를 볼 수 없습니다. (수정 : 레일스가 코드에서 오타가있을 때 HTTP 500을 반환하는 것 같습니다.

jQuery에 404 코드가 정상적으로 반환 된 페이지를로드하거나 표시하도록하는 방법이 있습니까?

나는이 멀리있어 :

$('#tabs').tabs({ 
    ajaxOptions: { 
     error: function (xhr, status, err) { 
      // Call success function - but how? 
     } 
    } 
}); 
+0

:

$.ajax({ statusCode: { 404: function() { alert('page not found'); } } }); 

JQuery와 탭이 문맥에서 사용하기 바로 이런 식으로 ajaxOptions 개체로 전달에 statusCode 왜 실수로 성공 함수를 부르겠습니까? – Smamatti

+0

레일스가 반환 한 오류 정보를보고 싶습니다. 나는 개발 중에 만 그것을 원한다. 나는 그것을 생산에서 해제 할 것이다. –

+0

@PetrCezar 아래 내 의견을 참조하십시오 - 이렇게하려면 JS 코드가 필요하지 않아야하므로 500 오류 대 404가 문제가되지 않습니다. – brandwaffle

답변

2

() 메서드 내 시도 이 같은

$('#tabs').tabs({ 
    ajaxOptions: { 
    statusCode: { 
     404: function() { 
     //your 404 handling code runs here 
     } 
    } 
    } 
}); 
+0

고마워요, 앞으로 나아가 야합니다. 하지만 여전히 어떤 줄의 코드가 반환 된 페이지를 탭에로드하는지 찾을 수 없습니다. –

+0

아! 이것이 목표라면 Chrome의 개발자 도구를 사용하면됩니다. 개발자 도구에서 네트워크 탭을 클릭 한 다음 탭을 클릭하면 아약스 호출에 의한 요청을 찾습니다. 반환 된 모든 데이터는 왼쪽의 해당 요청을 강조 표시 할 때 나타나는 응답 섹션에 있습니다. 다음 스크린 샷이 있습니다. http://grab.by/bdKo 미리보기를 클릭하면 페이지의 모양 (예 : 오류가있는 기본 404 페이지)을 볼 수 있습니다. http://grab.by/bdKs – brandwaffle

1

404 페이지도되지 에러 이벤트 성공 이벤트가 발생. 당신이 상태 코드 외모 해당 페이지에 여기 http://api.jquery.com/jQuery.ajax/

당신의 이점에 예를 상태 코드 객체를 사용할 수 있도록, 성공 이벤트입니다 ajaxOptions 객체는 실제의 jQuery 아약스와 같은 옵션을 취