2013-10-14 4 views
0

난 그냥 일반적인 질문이있다 : 나는 그것을 내 보내고 jQuery를 사용하고있다 (내 자바 백엔드 응용 프로그램에 POST 요청을 보내고있다.) 그리고 기본적으로 나에게 500 내부 서버 오류를 준다. 벌금. 문제는 콘솔에서 오류를 볼 수 있기 때문에 경고로 표시하는 방법이지만 사용자에게 표시 (가능하면 사용자 정의)하고 싶기 때문입니다. 이 오류는 사용자가 새 레코드를 추가하려고 시도 할 때 발생하지만 서버 쪽에서는 유효성 검사에 실패합니다. 여기에 요청을 전송하는 코드이다 :500 내부 서버 오류를 표시하는 방법

createCandidate: function (candidate, onSuccess){  
     $.ajax({ 
      url : 'ws/catservices/createCandidate', 
      type : 'POST', 
      async: false, 
      contentType : 'application/json', 
      data : JSON.stringify(candidate), 
      failure : function(jqXHR, textStatus, errorThrown) { 
       alert("error" + textStatus); 
      }, 
      success: onSuccess 
     }); 
    } 

는 그리고 이것은 내가 콘솔에서 볼 것입니다 :

[10:12:52.762] POST http://localhost:8080/cat_prototype/ws/catservices/createCandidate [HTTP/1.1 500 Internal Server Error 46ms] 

이 일을하는 방법이 있나요?

+0

사용해보십시오. 간단한 경고, 팝 오버, 사용자 정의 대화 상자 등을 사용할 수 있습니다. 원하는 경우 클라이언트 측 유효성 검사를 수행 할 수도 있으므로 유효성 검사를 통해 서버를 자주 방해 할 필요가 없습니다. 정확히 무엇을 원하니? –

답변

3

1000 가지 방법이 있습니다

$.ajax({ 
     url : 'ws/catservices/createCandidate', 
     type : 'POST', 
     async: false, 
     contentType : 'application/json', 
     data : JSON.stringify(candidate), 
     failure : function(jqXHR, textStatus, errorThrown) { 
      alert("error" + textStatus); 
     }, 
     statusCode: { 
      500: function() { 
      alert("message"); 
      } 
     } 
     success: onSuccess 
    }); 
+1

"}"로 statusCode를 닫는 것을 잊었습니다. 그러나 완벽하게 작동하는 것을 제외하고 :) 감사합니다. – Lucas

+0

제안 해 주셔서 감사합니다. 답변을 업데이트했습니다. –

1

jQuery에는 사용할 수있는 두 가지 방법이 있습니다. complete은 상태에 관계없이 응답을 처리하고 error은 오류시 호출됩니다.

$.ajax({ 
    // ... 
    error: function(xhr, status, error) { 
     var error = eval("(" + xhr.responseText + ")"); 
     alert(error.Message); 
    } 
}); 
1

$.ajax에 이런 failure 키가 없습니다. Check the manual.

error이므로 failure:error:으로 바꿉니다.

+0

오류 키가 없음을 가리키는 +1 +1 –