2016-09-22 4 views
0

아약스 반환 값을 얻고 싶습니다. 내 코드가 false 또는 true를 반환하지 않도록 도와주세요.아약스로 값을 전달하는 방법

나는 아약스는

<script type="text/javascript"> 
    $(document).ready(function(){ 

    function validateDate(date) { 

    return $.ajax({ 
      type: "POST", 
      url: "<?php echo base_url(); ?>activate/checkdate", 
      data: "Date_of_Birth="+date, 
      success: function(msg){ 
       if(msg=="false"){ 
         return false; 
       } 
       else{ 
         return false; 
       } 
      } 
     }); 
    } 

function validatesa() { 
    var date = $("#Datepicker").val(); 
    if (validateDate(date)) { 
     return true; 
     } else { 
     sweetAlert(date , "is not a valid date YYYY-MM-DD", "error"); 
    return false; 
     } 
    } 
    }else { 
     sweetAlert(date , "is not a valid date YYYY-MM-DD", "error"); 
     return false; 
     } 
    } 
    $("form").bind("submit", validatesa); 

}); 

</script> 

답변

0

이 AJAX를 비동기 프로세스가 그렇게 할 수 없습니다 돌아갑니다 존재 validateDate()를 호출이 스크립트 유효성 검사 (의 두 가지 기능)을 가지고있다. 귀하의 경우에는 귀하의 ajax 요청 옵션에 async : false을 사용해야합니다. 광고는 반환 변수를 사용해야합니다. 따라서 함수 코드가 있어야합니다.

function validateDate(date) { 
    var response=""; 
    $.ajax({ 
     type: "POST", 
     url: "<?php echo base_url(); ?>activate/checkdate", 
     async: false, 
     data: { 
      Date_of_Birth: date 
     }, 
     success: function(msg) { 
      if (msg == "false") { 
       response = false; 
      } else { 
       response = true; 
      } 
     } 
    }); 
    return response; 
} 
0

감사합니다. 그것은 많은 도움이됩니다. 덧글이 많은 스크립트에 약간의 변경이있었습니다.

function validateDate(date) { 
    var response=""; // i assign as empty first since ajax success dont have value yet 
    $.ajax({ 
    type: "POST", 
    url: "<?php echo base_url(); ?>activate/checkdate", 
    async: false, 
    data: { 
     Date_of_Birth: date 
    }, 
    success: function(msg) { 
     if (msg == "false") { 
      response = false; // assign false to response variable since false is the output. 
     } else { 
      response = true; 
     } 
     } 
    }); 
    return response; 
} 
관련 문제