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

时间:2014-03-25 18:47:09

标签: javascript php jquery mysql ajax

我想使用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>";
    }
}
?>

2 个答案:

答案 0 :(得分:4)

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 }

你的type =“POST”在声明性语法中是正确的,但在定义对象键时是错误的。

其次,上述对象的数据属性也应该是一个对象。因此,而不是动作=陈列室应该是

{action:"showroom"}

答案 1 :(得分:1)

你在代码中犯了错误:

 echo "<li>$row['name']</li>";

这应该是:

 echo "<li>".$row['name']."</li>";

试试......