我尝试了很多东西来捕捉这段代码的错误,但不知怎的,我无法发现它的错误。
我尝试了try
和catch(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 :(得分: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);