我希望实时从我的数据库中获取数据,但显示错误。 Ajax代码在这里:
<script>
window.setInterval(
function() {
checkCustomer();
check...... etc....
}, 1000);
function checkCustomer() { //ajax to getCustomerTotal.php
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function ()
{
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
customerTotal = xmlhttp.responseText;
document.getElementById("customerTotal").innerHTML = customerTotal;
}
}
xmlhttp.open("POST", "getCustomerTotal.php", false);
xmlhttp.send(null);
}
PHP代码:
<?php
include 'connect.php';
$query=mysql_query("select * from users");
$num_rows = mysql_num_rows($query);
echo $num_rows;
?>
上面是我的代码,如果我设置1000或10000毫秒然后显示 &#34;没有收到数据ERR_EMPTY_RESPONSE&#34; 如果我设置30000到60000,那么没问题,但我需要实时。
答案 0 :(得分:0)
AJAX
响应中存在一些错误,如果我们定义了很长的时间延迟,那么有时它不会显示小延迟的结果,那么就没有问题。同样的问题是我,我找到了以下的解决方案。请尝试以下Ajax
代码。
<script>
function showVal()
{
var xmlhttp;
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("customerTotal").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("POST", "getCustomerTotal.php", true);
xmlhttp.send();
}
</script>