我有以下js函数,它会发出ajax请求,但不会出于某种原因执行此操作。我检查了警报url,它显示它应该是,所以所有变量都被声明。使用javascript,mysql和php插入记录到数据库中
var request = new XMLHttpRequest();
var url = "ajax_js/q_ajax.php?q="+ques+
"&ans="+ans+
"&a="+inp[0].value+
"&b="+inp[2].value+
"&c="+inp[4].value+
"&d="+inp[6].value+
"&cor="+checked+
"&def="+input+
"&q_n="+q_name+
"&c_id="+c_id;
request.onreadystatechange=function(){
if(request.readyState==4 && request.status==200){
alert(request.responseText);
}
request.open("GET", url, true);
request.send();
}
这是php文件中的代码。
<?php
require("db_conx.php");
$q = $_GET['q'];
$ans = $_GET['ans'];
$a = $_GET['a'];
$b = $_GET['b'];
$c = $_GET['c'];
$d = $_GET['d'];
$cor = $_GET['cor'];
$def = $_GET['def'];
$q_n = $_GET['q_n'];
$c_id = $_GET['c_id'];
$q = mysqli_escape_string($con, $q);
$ans = mysqli_escape_string($con, $ans);
$a = mysqli_escape_string($con, $a);
$b = mysqli_escape_string($con, $b);
$c = mysqli_escape_string($con, $c);
$d = mysqli_escape_string($con, $d);
$cor = mysqli_escape_string($con, $cor);
$def = mysqli_escape_string($con, $def);
$q_n = mysqli_escape_string($con, $q_n);
$c_id = mysqli_escape_string($con, $c_id);
/* Modify id for the system */
$query = mysqli_query($con, "INSERT INTO course_quiz (course_id, quiz_name, question, des_answer, ChoiceA,
ChoiceB, ChoiceC, ChoiceD, correct, def)
VALUES ('$c_id', '$q_n', '$q', '$ans', '$a', '$b', '$c', '$d', '$cor', '$def')");
echo('Question has been saved');
/* header('Location: ../instr_home.php'); */
我也有另一个ajax调用(作品完美)在同一页,我认为这个问题的原因。 XMLHttpRequest的变量命名也不同。
谢谢您提前!
你检查控制台?你有没有发现任何JavaScript错误? –
@Nandan是的,我检查和控制台不显示任何错误。 – Yhlas
你是否收到任何回应?只需在php文件中回显(仅回显)一条消息,并检查是否得到回应。 –