簡體   English   中英

如何將值傳遞給ajax

[英]how to pass value to function with ajax

我想獲得ajax返回值。 請幫助我的代碼不返回false或true值。

我在此腳本中有兩個函數validate(),它調用存在ajax的validateDate()

<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>

AJAX是異步過程,因此不允許返回。 在您的情況下,您必須在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;
}

感謝您的解釋。 這很有幫助。 腳本上的一些更改帶有注釋,非常感謝

 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;
 }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM