无法从Ajax调用中获得“错误响应”

时间:2013-03-17 01:45:07

标签: javascript ajax

我正在尝试使用Ajax告诉我服务器是否正常运行。我只用一个Ajax调用创建了一个简单的页面。当服务器启动时,它会返回xmlhttp.responseText。如果服务器关闭,它应该说“SERVER DOWN”...但是当我加载页面,然后关闭Apache时,它仍然说服务器已启动。还有其他方法我应该这样做吗?

<!DOCTYPE html>
<html>
<head>
<script>
var xmlhttp;
var url = "http://192.168.0.5/ajax_info.txt";
function loadXMLDoc(url,cfunc)
{
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=cfunc;
xmlhttp.open("GET",url,true);
xmlhttp.send();
}
function myFunction()
{
loadXMLDoc(url,function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML = xmlhttp.responseText;
    }
  else
    {
    document.getElementById("myDiv").innerHTML = "Server Down!";
    }
  });
}
</script>
</head>
<body>

<div id="myDiv"><h2>Let AJAX change this text</h2></div>
<button type="button" onclick="myFunction()">Change Content</button>

</body>
</html>

感谢您的帮助

1 个答案:

答案 0 :(得分:3)

您的网页可能已缓存,请在网址中使用缓存破解程序。 e.g。

xmlhttp.open("GET",url+'?_dc='+(new Date()).getTime(),true);