2013-10-23 4 views
0

게임을 사용하고 있습니다. 2.2.0 전역 개체 설정이 onError 및 onHandlerNotFound 메서드로 재정의되었습니다. 보기에서 나는 SQL 구문 문제로 인해 500 내부 서버를 throw하는 아약스 호출을 만들고 있지만 onError 메서드에서 500 개의 내부 페이지를 볼 수는 없지만 처리기를 찾을 수없는 경우 NotFound 페이지를 볼 수 있습니다. 내가 아약스 요청을 사용하고 있기 때문에 기대되는 것입니다.500 오류 페이지가 표시되지 않습니다.

object Global extends WithFilters(LogFilter) with GlobalSettings { 
    override def onError(request: RequestHeader, ex: Throwable) = { 
     Future.successful(InternalServerError(
      views.html.error(ex) 
     )) 
    } 
    ... 
} 
+0

아약스 요청 인 경우 질문은 아약스 호출을 어디서 만들고 결과를 어떻게 처리할까요? 즉,이 요청을하는 프론트 엔드 코드를 게시 할 수 있습니까? – Ashalynd

답변

0

두 개의 ajax 요청이 서로 다를 가능성이 높습니다 (Ashalynd 언급 한 것처럼 프론트 엔드 코드 게시). 어디서 아약스 요청을 응답을 캡처하고 그에 따라 리디렉션합니다. 예 : jQuery :

$.ajax({ 
    url: "http://wherever.com", 
    type: 'GET', 
    success: function(msg) { 
     // Do successful things 
    }, 
    error: function (xhr, ajaxOptions, thrownError) { 
     // Redirect 
     window.location.href = "/errorpage.html"; 
     // Or some weird form of "redirect" (don't use this, just 
     // for demonstration purpose, showing how you can capture 
     // whatever you sent along with your error) 
     var responseText = $.httpData(xhr); 
     document.body.innerHtml = responseText; 
    } 
}); 
0

Play의 기능입니다. 2.2. Play에서 동일한 문제가 있습니다! 2.2.1, Java API 및 커맨드 라인에서 컬 사용하기. onHandlerNotFound가 지정된대로 작동하지만 onError는 HTTP 연결이 끊기지 않고 응답을 반환하지 않습니다.

2.1.5로 다운 그레이드하면 문제가 해결됩니다.

관련 문제