我正尝试使用一个按钮从我的数据库中检索记录,而无需刷新页面。我对ajax不熟悉,而且一直很难使它工作。到目前为止,这就是我所拥有的。任何帮助将不胜感激,谢谢
<h3>Avaiable assignments</h3><br>
<script>
$(document).ready(function () {
$('#button1').click(function (e) {
e.preventDefault();
$.ajax({
type: "GET",
url: "getItem.php",
dataType: "html",
success: function (msg) {
if (msg.success) {
$("#responsecontainer").html(msg);
} else {
alert("error");
}
}
});
});
});
<br>
<input name="button1" type="submit" id="button1"
value="Picked" />
我的getItem.php
<?php
include("connect.php");
$q = intval($_GET['q']);
if (!$con) {
die('Could not connect: ' . mysqli_error($con));
}
mysqli_select_db($con,"items");
$sql="SELECT * FROM items WHERE LIMIT 1 OFFSET 1";
$result = mysqli_query($con,$sql);
while($row = mysqli_fetch_array($result))
{
echo $row['items'];
}
mysqli_close($con);
?>
答案 0 :(得分:0)
最好的选择是从浏览器开发人员工具的“网络”标签中开始。在这里,您可以看到传出的请求及其返回的内容。
在浏览器中显示您的表单并触发click事件。然后,将请求查找到“ getItem.php”并查看其响应。如果不是您所期望的,请设置getItem.php以回显'hello'并死亡;如果“网络”选项卡在响应中未显示“ hello”,则表示您未点击终点。恭喜,如果您看到“你好”,就很接近了!
就您的实际端点而言,我看到您反复回显您的查询结果。这不是最有用的方法。相反, json_encode整个结果集,回显并杀死脚本。这会将您所有的表行返回为JSON数组,然后可以通过javascript在客户端读取。。我希望这对您有帮助!