Ajax readyState 状态码详解与生成顺序
作者:工具松鼠时间:2026-10-26 01:11:59浏览:393
本文详细解析 Ajax 请求过程中 readyState 状态码的生成顺序与具体含义。从创建对象到接收响应,状态码依次经历 0 至 4 的变化,分别对应未初始化、已建立连接、已发送请求、处理中及响应完成五个阶段。通过 onreadystatechange 事件监听状态变化,开发者可实时掌握请求进度并执行相应逻辑。
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 状态码的生成顺序以及含义的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持本站。
作者最新文章
JS表单序列化出现中文乱码怎么解决
2026-11-05 17:21:05
JS代码在线格式化工具推荐:无需安装快速美化
2026-11-05 17:17:49
WebStorm内置JS代码格式化功能怎么用
2026-11-05 10:10:47
在线JS代码格式化与混淆压缩工具推荐及使用指南
2026-11-03 20:31:53
CodePen、JSFiddle与RunJS对比:哪款在线JavaScript编辑器更好用
2026-11-03 18:52:45
