我想从mysql数据库中使用php和jquery ajax获取数据。'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>";
}
}
?>
发布于 2014-03-26 02:53:28
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“,它在声明性语法中是正确的,但在定义对象键时是不正确的。
其次,上述对象的data属性也应该是一个对象。所以它不应该是action=showroom,而应该是
{action:"showroom"}
发布于 2014-12-07 07:36:29
你在你的代码中犯了错误:
echo "<li>$row['name']</li>";
这应该是:
echo "<li>".$row['name']."</li>";
试试这个..。
https://stackoverflow.com/questions/22643644
复制相似问题