如何使用AJAX调用PHP函数并获取返回值?

我想从我的database.php文件中调用特定的函数,并获取返回的值。在这里,我试图做到这一点:


js:


function submit_verification_code(){

$.ajax({

url: "database.php",

type: "post",

data: ({

    'code': code_entered,

}),

dataType:"text",

context: this,

success : function(response) {

    console.log('RESPONSE: ' + response);

    //OPTIONAL_FUNCTION_TO_DO_SOMETHING_WITH_THE_RESPONSE(response);

},

error: function(jqXHR,textStatus,errorThrown){

    //OPTIONAL_FUNCTION_TO_DO_SOMETHING_WITH_THE_ERROR(jqXHR);

    console.log(errorThrown);

}

});

}

database.php


 if(isset($_POST['code'])){

    does_code_match($_POST['code']);

 }

 function does_code_match($code){


    connect();

            die('test');

    $sql = 'select * from emailstobeverified where email=';

    $sql .= "'" . $_SESSION['email'] . "'";

    $sql .= ' and verification_code=';

    $sql .= $code;

    $sql .= ';';

    $count = query($sql)->num_rows;


    die(strval($count));

    disconnect();

    echo strval($count);

    exit;

    //Once you've outputted, make sure nothing else happens

 }

does_code_match函数执行,并在调用<br />时打印控制台日志console.log("RESPONSE" + response)。但我希望它打印出的价值$count


慕工程0101907
浏览 231回答 3
3回答

潇湘沐

引用数组键时,必须将其括在引号中,并将函数更改为以下内容:function&nbsp;connect(){&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;$GLOBALS['conn']&nbsp;=&nbsp;new&nbsp;mysqli($GLOBALS['dbhost'],&nbsp;$GLOBALS['dbuser'],&nbsp;$GLOBALS['dbpass'],$GLOBALS['db'])&nbsp;or&nbsp;die("Connect&nbsp;failed:&nbsp;%s\n".&nbsp;$GLOBALS['conn']&nbsp;->&nbsp;error); &nbsp;}同样,通常,这是一种存储全局变量的奇怪方法,您应该考虑使用$_ENV数组。

阿波罗的战车

只是 echo $count$count = query($sql)->num_rows;disconnect();echo $count;如果对计数进行编码,则必须在接收端首先对json进行解码。
打开App,查看更多内容
随时随地看视频慕课网APP