2013-06-02 2 views
4

ajax를 통해 upload.php에 양식 데이터를 게시하는 코드는 다음과 같습니다. PHP 파일 내에서 서버는 업로드 된 파일 크기/형식 등을 확인합니다. 실패한 경우 아약스에게 어떻게 알리고 성공 메시지가 표시되지 않게 할 수 있습니까?ajax로 오류보고하기

$.ajax({ 
    type: 'POST', 
    url: 'upload.php', 
    data: dataString, 
    success: function() { 
     $('#getintouch .alert-error').slideUp(); 
     $('#getintouch .alert-success').slideDown(); 
     $('#submit').data('loading-text', 'Sent'); 
     $('#submit').button('loading'); 
    } 
}); 

답변

2

이 두 가지 방법으로 수행 할 수 있습니다

  1. 서버가 메시지를 다시 반향과에 대한 자바 스크립트 확인이 되세요.

    success: function(data) { 
        if (!data.success) //if JSON 
        { 
         // do error message 
         return; 
        } 
    
  2. 변경 HTTP 응답 코드

    http_response_code(500); 
    

    편집 - 프런트 엔드에 오류 매개 변수를 사용하여 그것을 처리하기 위해 :

    error: function(){...}, 
    success: function(){...}, 
    
+1

그냥 추가 :의 경우 5xx HTTP 코드 "오류"AJAX 콜백을 사용해야합니다 : http://api.jquery.com/Ajax_Events/ –

+0

2 번 방법을 사용했지만 성공 이벤트는 stil입니다. 응답 코드를 500으로 설정하고 스크립트를 die()로 설정 했음에도 트리거됩니다. – JazzyP

+1

아하! http_response_code에는 PHP 5.4가 필요하며 5.3을 사용하고 있습니다. 나는 header (':', true, 500) 대신에 다음 코드를 사용했다. – JazzyP