2012-03-12 2 views
0

나는 양식을 제출하고 서버의 응답에 따라 다른 것을 보여줍니다이 Ajax 호출이 있습니다Ajax 호출에 문제가 있습니까?

$('#applyForm').submit(function(){ 
var dataString = $(this).serialize(); 
$.ajax({ 
    type: "POST", 
    url: "php/common/apply/apply.php", 
    data: dataString, 
    success: function(data) { 
     if(data=='1'){ 
      $('#formDiv').fadeOut(); 
      $('#ok').fadeIn(); 
     } 
     else if(data=='0') { 
      $('#warning').fadeIn(); 
     } 
     else if(data=='-1') { 
      $('#error').fadeIn(); 
     } 
     else { 
      alert(data); 
     } 
    } 
}); 
return false 
}); 

이이 일을 올바른 방법입니다!

감사합니다.

+0

당신이 반환 데이터가 무엇인지 게시 할 수 있습니까? – Joseph

+0

당신은 datastring 후에'event.preventDefault()'를 놓쳤습니다. 그것없이 ... 그것은 아약스 요청을하기 전에 양식을 제출할 것입니다. –

+0

이상한 일은 PHP 스크립트가 "1"을 반환하지만 프런트 엔드에서는 아무 것도 발생하지 않는다는 것입니다. 즉,

이 표시되지 않습니다. "1"인 응답 만 알립니다. 그것에 대한 아이디어가 있습니까? – Ismailp

답변

0

경고가 1으로 표시되면 응답이 조건 검사와 동일하지 않습니다. 응답 첫 부분이나 끝 부분에 공백이있어서 수표가 false으로 계산됩니다.

은 PHP 측에서 응답을 트리밍 시도하거나 그것과 같은 자바 스크립트 측에서 수행

success: function(data) { 

    data = $.trim(data); 

    if(data=='1'){ 
     $('#formDiv').fadeOut(); 
     $('#ok').fadeIn(); 
    } 
    else if(data=='0') { 
     $('#warning').fadeIn(); 
    } 
    else if(data=='-1') { 
     $('#error').fadeIn(); 
    } 
    else { 
     alert(data); 
    } 
} 
+0

좋아요! 그게 해결 됐어! :) – Ismailp

1

당신은 올바른 아이디어를 가지고 있습니다. 요청을 보내려면 .ajax를 호출하고 성공 처리기를 사용하여 응답을 처리하십시오. 이 구문은 100 % 유효하지 않을 수 있지만 '올바른 방법입니까?' - 예

+0

이상한 일은 PHP 스크립트가 "1"을 반환하지만 프런트 엔드에서는 아무 것도 발생하지 않는다는 것입니다. 즉,

이 표시되지 않습니다. "1"인 응답 만 알립니다. 그것에 대한 아이디어가 있습니까? – Ismailp

관련 문제