我想在插入数据前使用java脚本提醒。我可以将数据插入到数据库中,但echo无法完成它的工作。这可能只是一个简单的错误,但我就是不能发现它:(
/// Java script
/// send data for insertion
$.get("tute7_add.php",{unit_code:unit_code,unit_name:unit_name,lecturer:lecturer,semester:semester}).done(function(data){
alert('You have added a unit successfully!');
});
tute7_add.php
<?php
// I Can't send alert!!
echo "<script type='text/javascript'>
alert('Don\'t have a record');
</script>";
$code= $_GET['unit_code'];
$name= $_GET['unit_name'];
$lecturer= $_GET['lecturer'];
$semester= $_GET['semester'];
$query = "INSERT INTO units (`unit_code`,`unit_name`,`lecturer`,`semester`) VALUES ('$code','$name','$lecturer','$semester');";
$mysqli->query($query);
?>
你使用Ajax请求URL。
你正在使用Ajax请求URL。data
变量中会有一大块HTML,包括脚本元素。
您 无所事事 价值为 data
. 你只是忽略了它。
一般在处理Ajax时,你会以JSON这样的格式返回原始数据,而不是使用HTML。然后你可以用客户端的代码进行处理。
例如
header("Content-Type: application/json");
if (1) { # Use a real condition here
echo json_encode([ "error" => "Don't have a record" ]);
exit;
} else {
# do database stuff and then…
echo json_encode([ "success" => "Something something" ]);
exit;
}
随着
$.get("tute7_add.php", {
unit_code,
unit_name,
lecturer,
semester,
}).done(function (data) {
if (done.success) {
alert("You have added a unit successfully!");
} else {
alert(done.error);
}
});