你能抓到一个连接错误吗?

时间:2017-02-25 18:53:13

标签: javascript php html connection

我尝试了很多东西来捕捉这段代码的错误,但不知怎的,我无法发现它的错误。

我尝试了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服务器以模拟服务器连接失败时似乎无法捕获错误。

是否有可能赶上那个?

如果有可能可以分享?如果不是......那么这将是一场失败。不管怎样,或者我的教授只是向我提出了一个技巧问题。不会是第一次。 :/

1 个答案:

答案 0 :(得分: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);