2017-02-25 33 views
0

我尝试了很多事情来捕捉这段代码的错误,但不知何故我无法捕捉到它的错误。你能捕捉到连接错误吗?

我试过trycatch(err)方法,但是弹出错误。无法找到有关如何捕获服务器连接错误的文章。他们弹出我的控制台日志,但我似乎无法赶上他们。以下是我迄今为止所尝试的......以及我尝试的方式之一。

function timrec(){ 
try{ 
var time; 
var inter1sec = setInterval(frame, 1000); 
function frame() { 
var xmlhttp = new XMLHttpRequest(); 
xmlhttp.onreadystatechange = function() { 
    if (this.readyState == 4 && this.status == 200) { 
     time = JSON.parse(this.responseText); 
     document.getElementById("demo").innerHTML = "Date is: "+time.d+"-"+time.m+"-"+time.y+" <br> Time is: " +time.h+":"+time.mi+":"+time.s+ " <br> day of the week is: "+ time.dow + "<br>"; 

}; } 

xmlhttp.open("GET", "date.php",true); 
xmlhttp.send(); 

} 
} 
catch(err){ 
alert("Warning! Connection error! Server might be down!"); 
} 
} 

我使用的代码,间隔获取服务器的时间,但似乎无法当我尝试刷新我的WAMP的服务器,以模拟服务器连接失败赶上它的错误。

它甚至有可能赶上?

如果有可能你可以分享?如果不是......那么这将是一个失败。不管是那个,还是我的教授只是给我一个诡计问题。不会是第一次寿。 :/

+0

'如果(this.readyState == 4 && this.status == 200){'如果不这样做,那么它的错误。你可能只想要一个else语句 – mehulmpt

+0

准确地说你的意思是“连接错误”是什么意思?你可以说得更详细点吗? –

+0

@Mehul Mohan尝试过,但它只是一遍又一遍地重复它约3次,然后发布相同的错误。 :/和anied,我认为它已经在问题中给出了。 – Arkonsol

回答

2

使用此代码:

var xmlhttp = new XMLHttpRequest(); 

xmlhttp.open("GET", "http://www.google.com", true); 

xmlhttp.onreadystatechange = function() { 
    if (xmlhttp.readyState === 4) { // request completed. we have some results 
     if (xmlhttp.status === 200) { 
      console.log(xmlhttp.responseText) 
     } else { 
      console.log("Oops", xmlhttp.statusText); 
     } 
    } 
}; 

xmlhttp.send(null); 
+0

感谢兄弟。这实际上工作。现在我知道我错过了什么......再次感谢你! – Arkonsol