javascript - 使用 AJAX,并检索就绪状态

标签 javascript jquery html ajax

我正在使用后面的代码来检索就绪状态,这对我来说很有用。请问如何在此内容中添加 else 语句。就像如果 url 不可用我想向用户打印一条消息。喜欢

document.getElementById("div p").innerHTML = "Ping is not success!"; 

并尝试让它看起来比纯 html 文本更漂亮一点。 她是我的代码:

url = "<whatever you want to ping>"
ping = new XMLHttpRequest();    
ping.onreadystatechange = function(){

    document.body.innerHTML += "</br>" + ping.readyState;

    if(ping.readyState == 4){
        if(ping.status == 200){
            result = ping.getAllResponseHeaders();
            document.body.innerHTML += "</br>" + result + "</br>";
        }
    }

}
ping.open("GET", url, true);    
ping.send();

最佳答案

当请求结束时,readyState4,但status可能是200以外的值>。如果 status0,则表示网络错误或 CORS 故障(对于跨源服务器)。如果它是其他值(例如 404),则意味着脚本已到达服务器,但服务器未成功处理请求(要么因为使用的 URL 路径没有意义,要么因为服务器端发生错误等)

ping.onreadystatechange = function(){

    document.body.innerHTML += "<br>" + ping.readyState;

    if(ping.readyState == 4){
        if(ping.status == 200){
            result = ping.getAllResponseHeaders();
            document.body.innerHTML += "<br>" + result + "<br>";
        } else if(ping.status == 0) {
            document.getElementById("foobar").innerHTML = "Ping is not successful! Could not get any response from the server, due to a network failure, CORS error, or offline server."; 
        } else {
            result = ping.getAllResponseHeaders();
            document.getElementById("foobar").innerHTML = "We got a response from the server, but it was status code " + ping.status;
        }
    }

}

关于javascript - 使用 AJAX,并检索就绪状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40534080/

相关文章:

javascript - 在提交表单之前询问用户

javascript - 无法在 Chrome 存储中存储和检索

javascript - 为什么 setTimeout 输出数字不按顺序添加

jquery - 使用jquery禁用div内的标签

html - 我怎样才能确保我的绝对定位的 div 足够高以满足我的粘性页脚?

javascript - 在正则表达式中匹配第一组、第二组或两者

javascript - 单击时从其他具有相同名称的类中隐藏一个类

jquery - 如何在 mousedown 事件上连续滚动 div?

html - 使 div 行的内容在 bootstrap 中居中

可变高度的 CSS float Div