首页 > 解决方案 > 如何使用 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);
?>

标签: javascriptphpjquerymysqlajax

解决方案


最好的办法是从浏览器开发者工具的“网络”选项卡开始。在那里,您可以看到传出的请求以及它返回的内容

在浏览器中打开您的表单并触发 click 事件。然后,找到对“getItem.php”的请求并查看它的响应。如果这不是您所期望的,请将 getItem.php 设置为 echo 'hello' 并死掉;如果网络选项卡在响应中没有显示“你好”,这意味着你没有到达端点。如果你看到“你好”,恭喜你,你很接近了!

就您的实际端点而言,我看到您反复回显查询结果。这不是最有用的方法。相反,json_encode 整个结果集,回显,并终止脚本。这会将您的所有表行作为 JSON 数组返回,然后可以通过 javascript 在客户端读取该数组。. 我希望这会有所帮助!


推荐阅读