我正在尝试从数据库中实时获取数据,但遇到问题,java脚本没有运行,我已多次尝试过,并在stackoverflow中搜索我的特定代码类型的答案但是失败了
一个简单的fetch.php
<?php
include_once('db.php');
$sql = "SELECT * FROM people";
$res = mysql_query($sql);
$result = array();
while( $row = mysql_fetch_array($res) )
array_push($result, array('name' => $row[0],
'age' => $row[1],
'company' => $row[2]));
echo json_encode(array("result" => $result));
?>
和my_script.js
$(document).ready( function () {
done();
});
function done() {
setTimeout( function() {
updates();
done();
}, 200);
}
funtion updates() {
$.getJSON("fetch.php", function(data) {
$("ul").empty();
$.each(data.result, function() {
$("ul").append("<li>Name: "+this['name']+"</li><li>Age: "+this['age']+"</li><li>Company: "+this['company']+"</li><br />");
});
});
}
从数据库收到的数据根本没有显示,只有当它被刷新并且来自数据库的数据没有进入正确的表格格式,即使在脚本中使用它之后,我已经建立了正确的数据库连接但是我刚才没有提到它,因为它非常简单,因为我收到的数据不是正确的格式而不是实时的。
谢谢。
答案 0 :(得分:0)
我更喜欢使用纯粹的ajax。另外请不要使用计时器,搜索ajax同步器。无论如何,如果这不起作用,您需要发布数据库结构。
<强> fetch.php 强>
<?php
include_once('db.php');
$sql = "SELECT * FROM people";
$res = mysql_query($sql);
$result = array();
$rs = mysql_query("SELECT * FROM people");
while($obj = mysql_fetch_object($rs)) {
$result[] = $obj;
}
echo $_GET['callback'] . '{"result":'.json_encode($result).'}';
?>
<强> JS 强>
$.ajax({
url: 'fetch.php',
type: 'GET',
dataType: 'json',
success: function(data) {
for (var x = 0; x < data.result.length; x++) {
$("ul").append("<li>Name: "+ data.result.name[x] +"</li><li>Age: "+ data.result.age[x] +"</li><li>Company: "+ data.result.company[x] +"</li><br />");
}
},
error: function () { alert('error'); },
});