2013-09-05 7 views
0

edit_data.php 파일에 무엇을 입력했는지에 관계없이 항상 성공 메시지가 표시됩니다. 나는 변수를 정의 할 수 없다고 항상 말하기 때문에 에러를 셋업 할 수 없다.JQuery AJAX 항상 성공 메시지 -

모든 변수가 정의되지 않은 상태로 계속 오류를 처리하는 경우 어떻게 설정합니까?

function UpdateDB() { 

     // DEBUG 
     alert('UPDATED DB!'); 

     //Hide All Alerts 
     $('.alert').hide(); 

     //Show processing message. 
     $('#processing_alert').fadeIn(1000);    

     // Run MySQL Script 
     $.ajax({ 
      url: 'edit_data.php', 

      success: function(data, status, error) { 

      // IF SUCCESSFUL 

      //Hide All Alerts 
      $('.alert').hide(); 

      //Show processing message. 
      $('#databaseS_alert').fadeIn(1000); 
      $('#generated_msg_placehold').after('<h4>Original Request: ' + $data + '</h4>'); 
      $('#generated_msg_placehold').after('<h4>Status: ' + $status + '</h4>'); 
      $('#generated_msg_placehold').after('<h4>Error: ' + $error + '</h4>'); 

      }, 

      error: function(data, status, error) { 

      // IF FAILED 

      //Hide All Alerts 
      $('.alert').hide(); 

      //Show processing message. 
      $('#databaseF_alert').fadeIn(1000); 
      $('#generated_msg_placehold').after('<h4>Original Request: ' + $data + '</h4>'); 
      $('#generated_msg_placehold').after('<h4>Status: ' + $status + '</h4>'); 
      $('#generated_msg_placehold').after('<h4>Error: ' + $error + '</h4>'); 

      } 

     });  

} 

의견이 있으십니까?

+0

정의되지 않은 변수에 대한 정확한 오류는 무엇입니까? – PherricOxide

+0

'edit_data.php'는 무엇을 돌려 주어야합니까? 이것은 문맥을 제공하지 않는다. – PlantTheIdea

+5

변수 이름에'$'이 앞에 붙어 있습니다.하지만 인수에는 없습니다. .. 인수에 $를 붙이거나 내부에서 제거하십시오. –

답변

4

자바 스크립트에서 변수 앞에 달러 기호가 필요하지 않습니다. 그것은 아마 그들이 모두 정의되지 않은 것으로 올라오고있는 이유 일 것입니다. ,

 success: function(data, status, error) { 

     // IF SUCCESSFUL 

     //Hide All Alerts 
     $('.alert').hide(); 

     //Show processing message. 
     $('#databaseS_alert').fadeIn(1000); 
     $('#generated_msg_placehold').after('<h4>Original Request: ' + data + '</h4>'); 
     $('#generated_msg_placehold').after('<h4>Status: ' + status + '</h4>'); 
     $('#generated_msg_placehold').after('<h4>Error: ' + error + '</h4>'); 

     }, 

     error: function(data, status, error) { 

     // IF FAILED 

     //Hide All Alerts 
     $('.alert').hide(); 

     //Show processing message. 
     $('#databaseF_alert').fadeIn(1000); 
     $('#generated_msg_placehold').after('<h4>Original Request: ' + data + '</h4>'); 
     $('#generated_msg_placehold').after('<h4>Status: ' + status + '</h4>'); 
     $('#generated_msg_placehold').after('<h4>Error: ' + error + '</h4>'); 

     } 
+0

감사합니다. @PherricOxide! – Skowt

0

성공을해야한다/AJAX와 관점에서 실패 HTTP 응답에 기초가 요청 받았다. 200 응답은 성공입니다. 따라서 심지어 PHP 스크립트가 Epic fail과 같은 메시지를 보낸 경우에도 헤더를 수정하여 오류 헤더 (예 : 4XX 또는 5XX 응답 코드)를 반환하지 않는 한 항상 성공 처리기를 사용하게됩니다.