php - 段落内的Ajax PHP打印错误
问题描述
我有一个表格,用户必须在其中输入他们的预订 ID 和姓氏。如果这两个值在数据库中匹配,那么我需要从数据库中返回相应的值。
如果预订或姓氏不匹配,我正在尝试在段落中打印错误。我确实在控制台中看到了错误,但在页面内没有看到。
看起来即使输入了错误的预订 ID 和名称,它也将其视为成功。即使页面错误,页面也会重新加载。
这是我的代码
<p id='guest_full_name'></p>
<p id='unit_number'></p>
<p id='floor'></p>
<p id='error'></p>
<script>
function validateReservation(){
var reservation_id = document.getElementById("reservation_id").value;
var guest_last_name = document.getElementById("guest_last_name").value;
$.ajax({
type: 'POST',
url: 'test06.php',
// dataType: 'json',
data: {
'reservation_id': reservation_id,
'guest_last_name' : guest_last_name
},
success: function(json) {
var json = JSON.parse(json);
console.log(json);
$('#guest_full_name').html(json.guest_full_name);
$('#unit_number').html(json.unit_number);
$('#floor').html(json.floor);
$('#key_sa').html(json.key_sa);
},
error: function(err) {
console.log(err);
$("#error").html("Error!");
}
});
}
test06.php
<?php
$conn = mysqli_connect("","","","");
$reservation_id=$_POST['reservation_id'];
$guest_last_name=$_POST['guest_last_name'];
$stmt = $conn->prepare("SELECT reservation_id, guest_last_name, guest_full_name, unit_number, floor, key_sa
FROM reservations2
INNER JOIN guest ON (reservations2.reservation_id=guest.reservation_idg)
INNER JOIN unit USING (unit_id)
WHERE reservation_id=?
AND guest_last_name=?");
$stmt->bind_param("ss", $reservation_id, $guest_last_name);
$stmt->execute();
$stmt->bind_result($reservation_id, $guest_last_name,
$guest_full_name, $unit_number,
$floor, $key_sa);
if ($stmt->errno) {
die("Query failed to execute: " . $stmt->error);
}
if ($stmt->fetch()) {
echo json_encode(array("reservation_id" => $reservation_id,
"guest_last_name" => $guest_last_name,
"guest_full_name" => $guest_full_name,
"unit_number" => $unit_number,
"floor" => $floor,
"key_sa" => $key_sa));
} else {
$error="Not matching record";
echo json_encode($error);
}
$stmt->close();
?>
解决方案
如果您尝试使用error
id 属性查看元素内部的错误,请使用相同的err
变量而不是错误一词(除非我误解了某些内容)。
这是您的原始代码:
error: function(err) {
console.log(err);
$("#error").html("Error!"); //<-- Replace this...
}
试试这个更新的代码:
error: function(err) {
console.log(err);
$('#error').text(err); //<-- ...with this.
}
推荐阅读
- jupyter-notebook - 在 Jupyter Notebook 中显示特殊字符
- javascript - 在 React Native 中获取 Firebase 云消息传递令牌
- r - 将 R_markdown 编织为 PDF 时加载命名空间出错
- c++ - 当 T==void 时如何最好地解决“void foo(const T& t = T())”
- python - 如何将定性数据转换为定量数据
- flutter - 如何在 Flutter 中更改 PageView Slider 的颜色?
- javascript - 映射指向组件的导入对象时出现错误“对象作为 React 子项无效”
- javascript - PHP 表单不会将消息注入 HTML 中的 Div
- java - 如何将曲线存储到数据库
- python - Colab 使用 DeviceError 运行 Pennylane