这是我的代码
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<meta charset=utf-8 />
<script type="text/javascript">
function repeatAjax(){
$.ajax({
type: "POST",
url: 'getdata.php',
dataType: 'json',
success: function(resp) {
$('#name').html(resp[0]);
},
complete: function() {
setTimeout(repeatAjax,500);
}
});
}
</script>
</head>
<body>
<center>
<h1>List</h1>
<div id="name" name="name"></div>
</center>
</body>
</html>
并且此结果没有显示任何内容
http://s1.postimg.org/hd8p7ecoe/listdoctorshow.jpg
这是我的getdata.php
<?php
mysql_query("SET NAMEs UTF8");
$objConnect = mysql_connect("localhost","root","") or die(mysql_error());
mysql_query("SET NAMEs UTF8");
$objDB = mysql_select_db("member");
$strSQL = " SELECT * FROM mem2 order by date limit 1,1";
$objQuery = mysql_query($strSQL) or die (mysql_error());
$intNumField = mysql_num_fields($objQuery);
$result = array();
$arrCol = array();
while($obResult = mysql_fetch_array($objQuery))
{
for($i=0;$i<$intNumField;$i++)
{
$arrCol[mysql_field_name($objQuery,$i)] = $obResult[$i];
}
array_push($result,$arrCol);
}
$response = json_encode($result);
echo json_encode($result);
mysql_close($objConnect);
?>
和这个结果
http://s17.postimg.org/75io9xg8d/showgetdata.jpg
我不知道我做错了什么
三江源
答案 0 :(得分:1)
无需在PHP中使其变得更复杂:
$response = json_encode($result);
echo json_encode($result);
// this doesn't make sense
只需将它们循环并正常推入内部即可。
$result = array();
while($obResult = mysql_fetch_assoc($objQuery)){
$result[] = $obResult;
}
echo json_encode($result);
exit;
在你的JS中,首先循环响应:
success: function(response) {
var results = '';
$.each(response, function(index, element){
// build the markup first, don't feed the response into .html() directly
results += '<p>' + element.id1 + '</p>';
results += '<p>' + element.name1 + '</p>';
results += '<p>' + element.date + '</p>';
});
$('#name').html(results); // after the markup is complete, then use this
},
注意:使用改进的扩展名mysqli或使用PDO。
答案 1 :(得分:0)
试试这个:
function repeatAjax(){
$.ajax({
type: "POST",
url: 'getdata.php',
dataType: 'json',
success: function(resp) {
$('#name').html(resp[0]);
}
});
}
setInterval(repeatAjax,500);
希望这有帮助。如果您还没有收到任何回复,请尝试控制台记录resp
并查看您是否确实从您的php文件中获得了一些响应。