插件窝 干货文章 Ajax状态码的生成顺序以及含义介绍

Ajax状态码的生成顺序以及含义介绍

已经 请求 Ajax readystate 511    来源:    2024-10-30

Ajax状态码:

在创建Ajax对象,配置Ajax对象,发送请求,以及接收完服务器响应数据,这个过程中的每一个步骤都会有一个数值,这个数值就是Ajax的状态码。

根据xhr.readystate获取

0: 请求已经未进行初始化(未调用open方法)
1: 请求已经建立,但是没有发送(未调用send方法)
2: 请求已经发送(已经调用send方法)
3: 请求在正处理,通常响应中已经有部分数据可以用了
4: 响应已经完成,可以获取并使用服务了

Onreadystatechange事件,xhr.readystate值发生变化后,自动触发

代码案例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title></title>
</head>

<style>
</style>

<body>
    <script >
      
        //1.创建Ajax对象
        var xhr=new XMLHttpRequest(); 
        console.log(xhr.readyState);//---0: 已经创建了Ajax的对象,但是还没有进行对ajax进行配置
        
        //2.配置Ajax对象
        xhr.open('get','http://localhost:3000/readyState');
        console.log(xhr.readyState);//1:已经对Ajax对象进行配置,但是还没有发送请求
       
        //3.设置请求参数格式的类型(post中必须要进行设置的)
        xhr.setRequestHeader('Content-Type','application/json');//json固定格式
        
        //4.发送请求
        xhr.onreadystatechange=function(){
            console.log(xhr.readyState);
            // 2: 请求已经发送
            // 3: 已经收到服务端的部分数据
            // 4: 服务器端的响应数据已经接收完毕

            //对Ajax的状态码进行判断,如果状态码为4,代表数据已经接收完毕,可以进行获取使用
            if(xhr.readyState==4){
                 //5.获取服务器端响应的数据
                console.log(xhr.responseText);
            }
        }
        xhr.send();
        </script>
</body>

</html>
<!-- 
    Ajax状态码:
    在创建Ajax对象,配置Ajax对象,发送请求,以及接收完服务器响应数据,这个过程中的每一个步骤都会有一个数值,这个数值就是Ajax的状态码。
   
    根据xhr.readystate获取
        0: 请求已经未进行初始化(未调用open方法)
        1: 请求已经建立,但是没有发送(未调用send方法)
        2: 请求已经发送(已经调用send方法)
        3: 请求在正处理,通常响应中已经有部分数据可以用了
        4: 响应已经完成,可以获取并使用服务了

    Onreadystatechange事件,xhr.readystate值发生变化后,自动触发 
 -->

到此这篇关于Ajax状态码的生成顺序以及含义的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持插件窝。