制作了一个AJAX脚本,该脚本应该使用我的PHP文件获取数据,但不起作用
该代码应该获取查询结果并根据文本框中写入的数字显示,我尝试了(onkeydown和onkeydup),但两者都不起作用,我不知道它为什么不起作用以及我的错误是什么 HTML代码:制作了一个AJAX脚本,该脚本应该使用我的PHP文件获取数据,但不起作用,php,html,ajax,Php,Html,Ajax,该代码应该获取查询结果并根据文本框中写入的数字显示,我尝试了(onkeydown和onkeydup),但两者都不起作用,我不知道它为什么不起作用以及我的错误是什么 HTML代码: <script> function showRoom(rid) { xmlhttp = new XMLHttpRequest(); xmlhttp.open("GET", "getRoomAJAX.php?q="+rid, true);
<script>
function showRoom(rid) {
xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", "getRoomAJAX.php?q="+rid, true);
xmlhttp.send();
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("txtHint").innerHTML = xmlhttp.responseText;
}
}
}
</script>
<form>
<input type="text" name="rid" onkeydown="showRoom(this.value)">
</form>
<div id="txtHint">Room...</div>
功能陈列室(rid){
xmlhttp=新的XMLHttpRequest();
open(“GET”,“getRoomAJAX.php?q=“+rid,true”);
xmlhttp.send();
xmlhttp.onreadystatechange=函数(){
if(xmlhttp.readyState==4&&xmlhttp.status==200){
document.getElementById(“txtHint”).innerHTML=xmlhttp.responseText;
}
}
}
房间。。。
getRoomAJAX.php代码:
<?php
session_start();
ob_start();
$q = $_GET["q"];
$db = new Database();
$dbc = $db->getConnection();
if (!$dbc) {
die('Could not connect: ' . mysql_error());
}
$query = "SELECT * FROM indvProj_room WHERE rid = '".$q."'";
$result = mysqli_query($dbc, $query);
//start creating the table HTML
if ($result) {
echo "<table border='1' align='center' cellspacing = '2' cellpadding = '4' width='100%'>
<tr>
<th><b>Room ID</b></th>
<th><b>Room Description</b></th>
</tr>";
while ($row = mysqli_fetch_array($result, MYSQLI_BOTH)) {
echo "<tr>";;
echo "<td>" . $_SESSION['adminRoomChoice'] = $row['rid'] . "</td>";
echo "<td>" . $row['roomDesc'] . "</td>";
echo "</tr>";
}
echo "</table>";
} else {
echo '<p class="error">Sorry, cannot find the room, are you sure of the entered Room ID?</p>';
echo '<p class = "error">' . mysqli_error($dbc) . '</p>';
}
?>
是否有人打电话给展厅()
?放置console.log(rid)
insideshowRoom()
,查看是否调用了该函数,以及是否正确传入了值
如果您可以确定它正在进入showRoom()
,那么请按照代码向下进入PHP,查看它失败的地方。使用return在PHP文件顶部回显一些示例文本代码>就在它下面。这将告诉您错误是在XMLHttpRequest代码中还是在PHP文件的某个地方
通常,我不会传递任何带有onkeydown类型事件的变量/参数。通常,我调用这样一个不带参数的方法,然后根据元素的id检索值。有关这一点的详细信息,请参阅此答案:您有一个错误。仅适用于旧API。请考虑切换错误模式。