我刚刚阅读了很多有关此的主题,但仍然无法使它起作用。将其上传到实时服务器,并在XAMPP的localhost上尝试,仍然发生相同的情况。
在开发人员工具/萤火虫上,我可以看到结果,在网络/ XHR上也是如此。任何帮助表示赞赏。
我想将单选按钮的提交值与php变量进行比较(如index.php所示),在控制台上可以按预期运行,但在我的浏览器窗口中无法运行。
html.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form name="curso_activo" id="form_preguntas" method="POST" action="" >
<p> option1 </p>
<input id="input_1" type="radio" name="html1" value="a">
<span class="checkmark"></span>
<p> option2 </p>
<input id="input_2" type="radio" name="html1" value="b">
<span class="checkmark"></span>
<p> option3 </p>
<input id="input_3" type="radio" name="html1" value="c">
<span class="checkmark"></span>
<p> option4 </p>
<input id="input_4" type="radio" name="html1" value="d">
<span class="checkmark"></span>
<div class="respuesta_submit">
<input type="submit" id="Respuesta_send" class="button_submit" value="Enviar" name="Enviar_respuesta">
</div>
</form>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"> </script>
<script src="ajax.js"></script>
</body>
</html>
ajax.js
$("#form_preguntas").submit(function (e) {
e.preventDefault();
var question = $("#input_1").attr('name');
var answer = $("input[name=" + question + "]:checked").val();
$.ajax({
type: 'POST',
data: {'param': answer},
success: function (data,) {
console.log(data);
alert(question);
},
error: function () {
console.log('error');
}
});
});
index.php
<?php
require"html.php";
$correct_answer = 'b';
if ($_POST['param'] == $correct_answer) {
echo "Correct";
}
?>
答案 0 :(得分:0)
您的javascript中可能的一种解决方案,检查响应是否是您期望的,然后告诉用户:
...
success: function (data,) {
if (data == 'success'){
//do something here
$('#someDiv').html('success!');
}
},
...