Ajax---错误处理

http状态码:
1、网络畅通,服务器端能接收到请求,服务器返回的结果不是预期结果。
可以判断服务器端返回的状态码,分别进行处理。xhr.status获取http状态码

2、网络畅通,服务器端没有接收到请求,返回404状态码
检查请求地址是否错误。

3、网络畅通,服务器端能接收请求,服务器端返回500状态码。
服务器端错误,找后端程序员进行沟通。

4、网络中断,请求无法发送到服务器端。
会触发xhr对象下面的onerror事件,在onerror事件处理函数中对错误进行处理。

Ajax状态码:表示Ajax请求的过程状态码,ajax对象返回的
Http状态码:表示请求的处理结果 是服务器端返回的

ajax错误处理

.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>07Ajax错误处理.html</title>
</head>
<body>
    <button id=‘btn‘>发送Ajax请求</button>
    <script type="text/javascript">
        var btn=document.getElementById(‘btn‘);
        btn.onclick=function(){
            var xhr=new XMLHttpRequest();
            xhr.open(‘get‘,‘http://localhost:3000/error‘);
            xhr.send();
            xhr.onload=function(){
                //xhr.status 获取http状态码
                console.log(xhr.responseText)
                if(xhr.status==400){
                    alert("请求出错!")
                }
            }
            xhr.onerror=function(){
                alert(‘网络中断,无法发送Ajax请求‘)
            }
        }
    </script>
</body>
</html>

app.js

app.get(‘/error‘,(req,res)=>{
    res.status(400).send(‘not ok‘);
})

有网情况:

Ajax---错误处理

 无网情况:

Ajax---错误处理