2011-07-27 3 views
2

을 사용하여 Ajax 중 play.mvc.results.Error 메시지를 검색합니다. Play! 이 jquery 코드를 사용하여 아약스 게시물, 나는 경고 상자에 오류를 표시해야합니다.responseText

{ 
type: 'play.mvc.results.Error', 
message: 'Can't find symbol : Watch list is empty' 
} 

어떻게 난 단지 메시지 부분을 검색 할 수 있습니다

$.ajax({ 
type: "post", 
url: "@{removeQuoteToWatch()}", 
dataType : "json", 
data: { 
    'symbol'  : symbol 
}, 
error: function(xhr, ajaxOptions, thrownError){ 


      alert(xhr.responseText); 
    }, 
    success: function(data){ 
      ... 
    } 
}); 

이 경고 상자의 출력은 다음과 같다?

은 내가

error: function(xhr, ajaxOptions, thrownError){ 


      alert(xhr.responseText.message); 
     }, 

같은 것을 tryed 있지만에서 responseText 문자열 여기

http://api.jquery.com/jQuery.ajax/#jqXHR

을 읽을 수 있듯이 그것은

덕분에,

+0

: 난에서 티켓을 만들어? – Codemwnci

답변

3

을 작동하지 않습니다; 당신이 JSON로 구문 분석하려는 경우 당신은 할 수

var res = $.parseJSON(xhr.responseText); 
alert(res.message); 

나는 개인적으로 논리적 문제에 대한 500 오류가 발생하지 선호하지만, 일반 200 를 사용하여 JSON에서 리턴 상태 및 사용자 오류를 제공 할 .

위의 대답은 기본적으로 옳지 만 더 가까이에서 (그리고 실제로 그것을 재현 해 보면) 당신이 놀이 틀에서 버그를 발견 한 것 같습니다. 이 프레임 워크는 반환해야

{ "유형": "play.mvc.results.Error" "메시지": "Watchlistempty" }

는 반환하지 동안 :

{유형 : 'play.mvc.results.Error', 메시지 : 'Watch list empty'}

이는 json이 유효하지 않습니다.

나는 경기를 확인했다! 등대 프로젝트이며 전에는보고 된 것 같지 않습니다. 당신이 그것을 작동하지 않습니다 ... 무슨 일이 일어나고 말할 때

http://play.lighthouseapp.com/projects/57987-play-framework/tickets/1073-templateserror500json-returns-invalid-json#ticket-1073-2

+0

경고음 상자에 다음 문자열이 표시됩니다. "{ 유형 : 'play.mvc.results.Error', 메시지 : '' '" –

+0

그냥이 문제에 직면하여 해결했습니다. '{ "type": "$ {exception? .class.name}", "message": "$ {exception? .message? .place ({{type?}}"파일을 포함하는'app/views/"\" ","\\\ "")} "}' –

관련 문제