0

我正在尝试检查给定的 url 是否正在使用 ajax。所以我稍微修改了Ajax。

function isServerAlive()
{
var xmlhttp;
   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)
   {
   document.getElementById("myDiv").innerHTML=xmlhttp.status;
   }
  }
   xmlhttp.open("GET","wrongurl",true);
   xmlhttp.send();
}

我要做的就是在 url 错误时将 xmlhttp.status 显示为 404 或 503。但它不是打印。有什么建议么?

4

3 回答 3

0

我认为您无法使用 XHR 来检查 url 是否正常工作,因为 url 必须来自与原始页面相同的来源。首先检查您的解决方案在访问本地 url 时是否正常工作。

于 2012-08-06T07:32:03.643 回答
0

您有可用的状态代码.status和文本.statusText

xmlhttp.onreadystatechange=function()
  {
      if (xmlhttp.readyState == 4)
           console.log("Code: " + xmlhttp.status  + "Status text: " + xmlhttp.statusText);
  }
于 2012-08-06T07:25:00.697 回答
0

将响应对象传递给 xmlhttp 事件,因此请改用:

xmlhttp.onreadystatechange=function(r) {
    if (r.readyState == 4) {
        document.getElementById("myDiv").innerHTML = r.status;
    }
}
于 2012-08-06T07:26:30.947 回答