簡體   English   中英

AJAX請求有效但什么都不顯示?

[英]AJAX request working but not displaying anything?

我對ajax請求有問題。 我創建了一個測驗,它會詢問所有問題,當用戶完成測驗時,它應調用ajax.php文件的請求以調出信息。 請在下面查看我的代碼,我已經運行了ajax.php文件,它正在收集所有信息。 但是在tests.php頁面中,完成后什么也沒顯示。 ajax $("#quiz_form,#demo1").addClass("hide")似乎也沒有任何顯示,但沒有完成下面的兩個功能。

有人可以幫忙嗎?

在你的ajax.php中更改它

echo "<div id='answer'>";
 echo " Right Answer  : <span class='highlight'>". $right_answer."</span><br>";

 echo " Wrong Answer  : <span class='highlight'>". $wrong_answer."</span><br>";

 echo " Unanswered Question  : <span class='highlight'>". $unanswered."</span><br>";
 echo "</div>";

對此:

$response = array(
    'right_answer' => $right_answer,
    'wrong_answer' => $wrong_answer,
    'unanswered' => $unanswered
);

echo json_encode($response);
exit;

並閱讀有關json_encode / json_decode的信息

在您的ajax中更改此:

success: function(msg) {
   $("#quiz_form,#demo1").addClass("hide");
   $('#result').show();
   $('#result').append(msg);
}

有了這個

success: function(data) {
   data = JSON.parse(data);
   var output = "Right Answer: "+data.right_answer + 
            "<br />Wrong Answer: " + data.wrong_answer + 
            "<br />Unanswered Question: "+ data.unanswered;
   $("#quiz_form,#demo1").addClass("hide");
   $('#result').show();
   $('#result').append(output);
}

html代碼應該看起來像這樣

<div id="question_<?php echo $result['id'];?>" class='questions'></div>
<h2 id="question_<?php echo $result['id'];?>"><?php echo $result['id'].".".$result["question_name"];?></h2>
<div class='align'>
    <input type="radio" value="1" id='radio1_<?php echo $result['id'];?>' name='<?php echo $result['id'];?>'>
    <label id='ans1_<?php echo $result['id'];?>' for='1'><?php echo $result['answer1'];?></label>
    <br/>
</div>
<div id="result" style="display:none;"></div>

這應該可以嘗試理解代碼

通過以下代碼更新您的代碼,

更換你的ajax

$.ajax({
    type: "POST",
    url: "ajax.php",
    data: $('form').serialize(),
    dataType: "html",
    success: function(response){
        $("#quiz_form,#demo1").addClass("hide");
        $('#result').show();
        $('#result').append(response);
    }
});

現在在ajax.php刪除所有echo ,並在while循環后添加以下代碼}關閉

$html = "<div id='answer'>"+
"Right Answer  : <span class='highlight'>". $right_answer."</span><br>"+
"Wrong Answer  : <span class='highlight'>". $wrong_answer."</span><br>"+
"Unanswered Question  : <span class='highlight'>". $unanswered."</span><br>"+
"</div>";
echo $html;
exit();

暫無
暫無

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

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