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