javascript - 如何使用 ajax 和 jquery 从我的数据库中检索记录?
问题描述
我正在尝试使用不刷新页面的按钮从我的数据库中检索记录。我不熟悉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);
?>
解决方案
最好的办法是从浏览器开发者工具的“网络”选项卡开始。在那里,您可以看到传出的请求以及它返回的内容。
在浏览器中打开您的表单并触发 click 事件。然后,找到对“getItem.php”的请求并查看它的响应。如果这不是您所期望的,请将 getItem.php 设置为 echo 'hello' 并死掉;如果网络选项卡在响应中没有显示“你好”,这意味着你没有到达端点。如果你看到“你好”,恭喜你,你很接近了!
就您的实际端点而言,我看到您反复回显查询结果。这不是最有用的方法。相反,json_encode 整个结果集,回显,并终止脚本。这会将您的所有表行作为 JSON 数组返回,然后可以通过 javascript 在客户端读取该数组。. 我希望这会有所帮助!
推荐阅读
- ssl - 如何在 MTLS 身份验证中动态加载新的客户端证书
- html - 如何将 data:image/png 转换为 SVG 代码?
- angular - 如何使用 mergeMap 链接服务调用?
- symfony - API平台,受保护的根,试图让客户端生成器工作
- c# - 选择时如何在树视图中突出显示节点?
- mysql - 优化“distinct where equals”查询和索引
- mongodb - 在 MongoDB v4 中存储和更新数据
- angular - ng lint 返回错误错误 Angular 8
- clio-api - 如何修复日历中滞后一天的日期
- javascript - Spring Boot + React Webpack 配置