Ajax调用无法在表单提交之前返回数据

时间:2013-06-04 10:41:07

标签: php jquery

现在这是我的文件getcountshare.php,它返回计数值,如下所示:

/*    getcountshare.php */

include "config.php";

$query = "select count(sharecount_id) from brand_testimonial_sharecount where sharecount_fbid='".$fbid."'";

$result=mysql_query($query);

$sharecount = mysql_fetch_array($result);

echo $sharecount;

return $sharecount; //returns sharecount=5

//end

/* File registeration.php where ajax is call */

<html>

<script type="text/javascript">

var countshare=0; //global variable


function validateform()
{ 

    getsharecount();

    if(countshare==5) //countshare=5 submit form
    {
         $('#profileForm').submit();
    }

    return false;   
}

function getsharecount()
{

  var url = "https://solutions.techshastra.com/fbapps/newapptest/getcountshare.php?meid=10001020002";

    $.ajax({
        type:'POST',
        url: url,   
        async: false,
        success: function(data)
        {
            countshare=data; //retrieves countshare=5
        }

    });  // end of ajax

}

</script>

<form id="profileForm" name="profileForm" action="thankyou.php"  method="POST" onsubmit="javascript:return validateform();" >


</form>

</html>

1 个答案:

答案 0 :(得分:0)

这很容易。你需要的是:

$query = "select count(sharecount_id) AS share from brand_testimonial_sharecount where   sharecount_fbid='".$fbid."'";

$result=mysql_query($query);

$sharecount = mysql_fetch_array($result);

echo $sharecount['share'];

如果使用警报显示PHP中的HTTPResponseText,它将显示类似ARRAY()的内容。