无法使用AJAX从PHP获得结果

时间:2018-04-26 21:34:41

标签: php ajax

我试图创建测验。现在,我创造变化的问题,结果,但是......只有当我使用提交表格并且仅用于第1个问题(重装页面)时,我才得到结果...我的主要是我无法重新加载页面。我尝试用ajax做但我得到的错误(也许因为我不知道ajax是如何工作的):

Uncaught ReferenceError: $choice is not defined
at HTMLButtonElement.<anonymous> ((index):20)
at HTMLButtonElement.dispatch (jquery.min.js:2)
at HTMLButtonElement.y.handle (jquery.min.js:2) (anonymous) @ (index):20 dispatch @ jquery.min.js:2 y.handle @ jquery.min.js:2

我的代码: 部分来自主要代码:

    <meta charset="utf-8">

  <meta name="viewport" content="width=device-width, initial-scale=1">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <title>Quiz</title>
    <script >
            $(document).ready(function(){
                $("#result").click(function(){
                    post_data = {$choice}
     $.ajax({
                method: 'get',
                data: post_data,
                url: 'grade.php',
                success: function (data) {
                    result = data;
                    alert(result)
                }
    })
                    $("#points").load("grade.php");
                    });

            });
        </script>
</head>
<body>

    <div id="quiz">
     <?php 
        $sql= "SELECT* FROM quiz ";
        $result = $conn->query($sql);
        mysqli_set_charset($conn,"utf8");
        $row = $result->fetch_assoc();
        $ans_array = array($row['choice1'] ,$row['choice2'] , $row['choice3'] , $row['choice4'] ,  $row['correct'] );
        shuffle($ans_array);
        $choice = "quizid".$row['quizId'];
        ?> 


    <h3><?=$row['topic'];?></h3>
    <h4><?=$row['question'];?></h4>
    <div>
       <input type="radio" name="$choice" value="<?=$ans_array[0]?>"><label id="<?= $ans_array[0];?>">A) <?= $ans_array[0];?></label></br>
    </div>

    <div>
        <input type="radio" name="$choice" value="<?=$ans_array[1]?>"><label id="<?= $ans_array[1];?>">B) <?= $ans_array[1];?></label></br>
    </div>

    <div>
       <input type="radio" name="$choice" value="<?=$ans_array[2]?>"><label id="<?= $ans_array[2];?>">C) <?= $ans_array[2];?></label></br>
    </div>

    <div>
        <input type="radio" name="$choice" value="<?=$ans_array[3]?>"><label id="<?= $ans_array[3];?>">D) <?= $ans_array[3];?></label></br>
    </div>
    <div>
        <input type="radio" name="$choice" value="<?=$ans_array[4]?>"><label id="<?= $ans_array[4];?>">E) <?= $ans_array[4];?></label></br>
    </div>

</div>

        <p id="points"></p> 
        <button id="result">check</button>

        <button id="next">next question</button>

PHP:grade.php

<?php
    include 'db.php';
$sql= "SELECT* FROM quiz";
        $result = $conn->query($sql);
        mysqli_set_charset($conn,"utf8");
        $row = $result->fetch_assoc();
$answer = $_GET['$choice']; 


    $totalCorrect = 0;

    if ($answer ==  $row['correct']) { $totalCorrect++; }


    echo "$totalCorrect / 15 correct";

?>

我需要做什么: 1.显示问题 2.检查答案是否正确 3.计算正确的答案 4.转到下一个问题 一遍又一遍......

强烈推荐任何帮助。我堆叠3天,不能再走了。

0 个答案:

没有答案