我不太明白如何使用ajax从MySQL数据库中获取数据。我通过互联网阅读了很多,但我仍然无法找到答案。
<script src="js/jQuery.js"></script>
<script type="text/javascript">
setInterval(function(){
$(function ()
{
$.ajax({
url: 'api.php',
data: "",
dataType: 'json',
success: function(data)
{
console.log(data);
}
});
})
}, 1000);
</script>
<?php
include("connect.php");
$link=Connection();
$result = mysqli_query($link, "SELECT * FROM `estacionamiento' ORDER BY timeStamp DESC");
$data = array();
while($row = mysql_fetch_assoc($result)){
$data[] = $row;
}
echo json_encode($data);
var_dump($data);
?>
我的表'estacionamiento'由4列组成,它们是(timeStamp,dir1,dir2,state)。所以从上面的代码中,我想要接收这些随时间变化的变量,这就是我放置setInterval的原因。据我所知,当我对这些变量进行json编码时,它会向我的javascript发送一个对象...但我需要它们作为我的javascript中的字符串变量。此外,由于console.log(data)
,我无法在Web控制台中看到我应该看到的任何内容。最后,我想知道是否有办法查看我是否从php代码中正确发送$data
。
顺便说一下,我之前已经完成了这个,但只发送了一个变量,它是通过执行语句php。我不熟悉这段代码。
<?php
include("connect.php");
$link=Connection();
$stmt = $link->prepare("SELECT estado FROM estacionamiento ORDER BY timeStamp DESC"); /* PREPARE YOUR QUERY */
$stmt->execute(); /* EXECUTE QUERY */
$stmt->bind_result($estado); /* BIND RESULT TO THIS VARIABLE */
$stmt->fetch(); /* FETCH RESULT */
$stmt->close(); /* CLOSE PREPARED STATEMENT */
echo $estado;
?>
编辑:Chrome的开发者工具中出现错误: