AJAX没有收到ERR_EMPTY_RESPONSE的数据

时间:2015-11-03 05:11:15

标签: javascript php ajax

我希望实时从我的数据库中获取数据,但显示错误。 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,那么没问题,但我需要实时。

1 个答案:

答案 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>