我想练习使用AJAX。我有一个MySQL数据库,我在列storeName中插入了一些名称。我做了一个SQL查询,在数据库的列中输出随机文本。这工作正常,但只有当我刷新浏览器时才会这样:
<?php
$sql ="SELECT * FROM stores ORDER BY RAND ( ) LIMIT 1";
$res = $mysqli->query($sql);
//print($res);
if ($res->num_rows > 0) {
// output data of each row
while($row = $res->fetch_assoc()) {
echo "Storename: " . $row["storeName"]. "<br>" .
}
} else {
echo "0 results";
}
?>
我想创建一个AJAX函数,它调用我的SQL查询而不必刷新我的浏览器。我尝试制作以下代码,但是当我点击随机播放按钮时,什么也没发生。我在这里做错了什么?
<body>
<div id="shuffle" >
<h4>Shuffle Stores</h4>
<!-- This php function loads everytime I refresh the browser -->
<?php include 'function/select_shuffle.php' ?>
<form action="function/select_shuffle.php" method="post">
<button>shuffle</button>
</form>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<!-- Shuffle AJAX method-->
<script>
$(document).ready(function(){
$("button").click(function(){
$.ajax({url: "function/select_shuffle.php", success: function(result){
$("#shuffle").html(result);
}});
});
});
</script>
</body>
答案 0 :(得分:-1)
如果您正在进行ajax调用,则无需在当前页面中包含select_shuffle.php文件。
请尝试以下代码。您还可以检查控制台是否存在任何ajax错误。右键单击您的页面,然后选择Inspect。然后单击“网络”选项卡,然后单击XHR标题。在这里,您可以跟踪您的ajax请求。您可以检查标题,响应或任何ajax错误。
<body>
<div id="shuffle" >
</div>
<div>
<h4>Shuffle Stores</h4>
<button id="btn">shuffle</button>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<!-- Shuffle AJAX method-->
<script>
$(document).ready(function(){
$("#btn").click(function(){
$.ajax({
url: "function/select_shuffle.php",
success: function(result)
{
$("#shuffle").html(result);
}
});
});
});
</script>
</body>
答案 1 :(得分:-1)
错误500表示内部服务器错误。
更改
echo "Storename: ".$row["storeName"]."<br>" .
要
echo "Storename: ".$row["storeName"]."<br>";
提交按钮必须是格式,但只触发ajax的按钮没有理由存在。