一尘不染

使用php和jquery ajax从mysql数据库中获取数据

mysql

我想使用php和jquery ajax从mysql数据库中获取数据。“
process.php”是连接到数据库并获取mysql数据的php文件。当它单独运行时它可以工作,但是当使用ajax调用时它不起作用。有人可以帮忙纠正错误吗?这是我的html文件:

<html>
<head>
<script type="text/javascript" src="js/jquery-1.11.0.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    function showRoom(){
        $.ajax({
            type:"POST",
            url:"process.php",
            data:{action:showroom},
            success:function(data){
                $("#content").html(data);
            }
        });
    }
    showRoom();
});
</script>
</head>
<body>
<div id="content"></div>
</body>
</html>

这是我的process.php文件

<?php
$link=mysqli_connect("localhost","root","raspberry","homebot");

if (mysqli_connect_errno())
    echo "Failed to connect to MySQL: " . mysqli_connect_error();

$action=$_POST["action"];
if($action=="showroom"){
    $query="SELECT * FROM user";
    $show=mysqli_query($link,$query) or die ("Error");
    while($row=mysqli_fetch_array($show)){
        echo "<li>$row['name']</li>";
    }
}
?>

阅读 733

收藏
2020-05-17

共1个答案

一尘不染

您的ajax调用中有两个语法错误:

$(document).ready(function(){
    function showRoom(){
        $.ajax({
            type:"POST",
            url:"process.php",
            data:{action:"showroom"},
            success:function(data){
                $("#content").html(data);
            }
        });
    }
    showRoom();
});

请记住,jQuery的ajax需要一个对象作为参数。在对象内部的语法是

{ key : value }

您输入的类型=“ POST”在声明性语法中正确,但是在定义对象键时不正确。

其次,上述对象的数据属性也应该是一个对象。因此,应该不是action = showroom而是

{action:"showroom"}
2020-05-17