2

这就是我使用 ajax 的方式

$.get('checkanswer.php',{'clickedvalue':clickedvalue,'qid':qid},function(data){
                $this.find(".report").html(data);

这是我的 PHP 代码,数据来自哪里

<?php
$countresult=0;
$questionid=$_GET['qid'];
$answer=$_GET['clickedvalue'];
$dbconnect=mysqli_connect('localhost','root','','quiz')or die("Error Connecting to database");
$query="select answer from question_answer where id=$questionid";
    $result=mysqli_query($dbconnect,$query);
    while($rows=mysqli_fetch_array($result))
    {
        $dbanswer=$rows['answer'];
    }
    if($dbanswer==$answer)
        {
        echo "Correct";
        $countresult=$countresult+1;
        }
    else{
        echo "Incorrect";
        $countresult=$countresult-1;
    }   

?>

现在以前我只是检查结果是否正确并显示结果,但现在我希望 PHP 页面甚至返回存储存储在 $countresult 中的计数的变量。我知道我必须使用 json 但如何在 PHP 页面中使用它,传递值并从另一个页面访问该值,

4

3 回答 3

1

在你的 php 中:

$data = array('countresult' => $countresult);
$str = json_encode($data);
echo $str;

在你的 js 中:

$.get('checkanswer.php',{'clickedvalue':clickedvalue,'qid':qid},function(data){
       alert(data['countresult']);
}, "json");

关于jQuery.get()的文档

于 2013-08-22T12:00:23.820 回答
0

通常将消息放入数组中:

$server_response['error'] = "something";
$server_response['Success'] = "some other thing";
$sever_response['vars'] = "blah blah";
echo json_encode($server_response);

然后从js如果你的响应变量是ServerResponse,你可以访问为

ServerResponse.error or
ServerResponse.Success or
ServerResponse.vars
于 2013-08-22T12:04:55.807 回答
0

在 php 中使用 json_encode

 <?php
 $arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);

 echo json_encode($arr);
 ?>
于 2013-08-22T12:01:18.910 回答