xhr的readyState和status
XMLHttpRequest(XHR)对象中的readyState和status用于监控异步 HTTP 请求的状态。它们分别表示请求的当前阶段和服务器的响应状态。
readyState
用于判断请求所处的阶段,确保数据完全接收。
status
用于判断请求的结果状态(如200表示成功,404表示资源不存在)。
文章目录
- readyState 属性
- status 属性
- 1xx: 信息性状态码
- 2xx: 成功状态码
- 3xx: 重定向状态码
- 4xx: 客户端错误状态码
- 5xx: 服务器错误状态码
- 例子
readyState 属性
readyState
属性表示请求的当前状态,取值范围从 0 到 4。每个值的含义如下:
-
0: UNSENT
请求未初始化,尚未调用open()
方法。 -
1: OPENED
请求已被初始化,调用了open()
方法,但尚未调用send()
方法。 -
2: HEADERS_RECEIVED
请求已发送,服务器响应头已被接收,但响应体尚未接收。 -
3: LOADING
响应体正在接收中。可以接收到部分数据。 -
4: DONE
请求操作已经完成。这意味着数据传输已经彻底完成或失败。
请求已完成,响应已完全接收。此时可以通过
responseText
或responseXML
属性访问响应数据。
status 属性
1xx:信息响应类,这些状态码表示请求已被接收并正在继续处理。
2xx:处理成功响应类,这些状态码表示请求已成功处理。
3xx:重定向响应类,这些状态码表示客户端需要进一步的操作才能完成请求。
4xx:客户端错误,这些状态码表示请求有误,客户端需修改请求。
5xx:服务端错误,这些状态码表示服务器在处理请求时发生了错误。
1xx: 信息性状态码
这些状态码表示请求已被接收并正在继续处理。
-
100 Continue
客户端应继续发送请求。通常用于在发送大型请求时,客户端可以先发送请求的头部,然后等待服务器的确认。 -
101 Switching Protocols
服务器已理解客户端的请求,并将其协议更改为客户端所请求的协议。
2xx: 成功状态码
这些状态码表示请求已成功处理。
-
200 OK
请求成功,服务器返回所请求的数据。 -
201 Created
请求成功并创建了新的资源,通常用于 POST 请求。 -
202 Accepted
请求已接受,但尚未处理。此状态通常用于异步处理。 -
203 Non-Authoritative Information
服务器成功处理了请求,但返回的信息可能来自另一来源。 -
204 No Content
在更新一个资源后,如果不需要向客户端返回任何新的数据
请求成功,但没有返回任何内容,常用于 DELETE 请求。
-
205 Reset Content
请求成功,要求客户端重置文档视图。 -
206 Partial Content
服务器成功处理了部分 GET 请求,通常用于下载大文件时的断点续传。
3xx: 重定向状态码
这些状态码表示客户端需要进一步的操作才能完成请求。
-
300 Multiple Choices
请求的资源有多种选择,用户可以选择其中一个。 -
301 Moved Permanently
请求的资源已被永久移动到新 URI,未来的请求应使用新 URI。 -
302 Found
请求的资源临时移动到新 URI,客户端应继续使用原 URI。 -
303 See Other
请求的响应可在另一个 URI 下找到,客户端应使用 GET 方法请求该 URI。 -
304 Not Modified
资源未修改,可以使用缓存的版本。常用于条件请求。 -
305 Use Proxy
请求的资源必须通过代理访问。 -
307 Temporary Redirect
请求的资源临时移动到新 URI,客户端应使用相同的方法进行请求。 -
308 Permanent Redirect
请求的资源已被永久移动,未来请求应使用新 URI,且应使用相同的方法进行请求。
4xx: 客户端错误状态码
这些状态码表示请求有误,客户端需修改请求。
-
400 Bad Request
请求无效,服务器无法理解。 -
401 Unauthorized
请求未授权,需提供身份验证。 -
402 Payment Required
该状态码保留用于将来的需求,目前尚未广泛使用。 -
403 Forbidden
服务器理解请求,但拒绝执行,用户无权访问请求的资源。 -
404 Not Found
请求的资源未找到。 -
405 Method Not Allowed
请求方法不被允许,资源不支持该方法。 -
406 Not Acceptable
请求的资源无法满足请求头中指定的条件。 -
407 Proxy Authentication Required
需要代理身份验证。 -
408 Request Timeout
服务器在等待请求时超时。 -
409 Conflict
请求无法完成,因为存在冲突。 -
410 Gone
请求的资源已被永久删除,且没有转发地址。 -
411 Length Required
服务器要求请求中指定 Content-Length。 -
412 Precondition Failed
请求中的某个条件未满足。 -
413 Payload Too Large
请求的有效负载太大,服务器无法处理。 -
414 URI Too Long
请求的 URI 太长,服务器无法处理。 -
415 Unsupported Media Type
请求的媒体类型不被服务器支持。 -
416 Range Not Satisfiable
请求的范围无效,服务器无法满足请求。 -
417 Expectation Failed
服务器无法满足 Expect 请求头中的期望。
5xx: 服务器错误状态码
这些状态码表示服务器在处理请求时发生了错误。
-
500 Internal Server Error
服务器发生意外错误,无法完成请求。 -
501 Not Implemented
服务器不支持请求的方法。 -
502 Bad Gateway
服务器作为网关或代理时收到无效响应。 -
503 Service Unavailable
服务器当前无法处理请求,通常是由于过载或维护。 -
504 Gateway Timeout
服务器作为网关或代理时,未能及时从上游服务器获取请求。
例子
var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://api.example.com/data', true);xhr.onreadystatechange = function() {if (xhr.readyState === 4) { // DONEswitch (xhr.status) {case 200:console.log('Success:', xhr.responseText);break;case 404:console.error('Error 404: Not Found');break;case 500:console.error('Error 500: Internal Server Error');break;default:console.error('Error:', xhr.status, xhr.statusText);}}
};xhr.send();
以上代码展示了如何根据不同的 HTTP 状态码进行不同的处理。
相关文章:

xhr的readyState和status
XMLHttpRequest(XHR)对象中的readyState和status用于监控异步 HTTP 请求的状态。它们分别表示请求的当前阶段和服务器的响应状态。 readyState 用于判断请求所处的阶段,确保数据完全接收。 status 用于判断请求的结果状态(如200表…...

Rust 力扣 - 238. 除自身以外数组的乘积
文章目录 题目描述题解思路题解代码题解链接 题目描述 题解思路 这题主要有个关键点,就是元素能取0,然后我们分类讨论元素为0的数量 如果数组中存在至少两个元素为0,则每个元素的除自身以外的乘积为0如果数组中仅存在一个0,则为…...

【Vue框架】基础语法练习(1)
其实更多知识点已经在Vue.js官网十分清楚了,大家也可以去官网进行更细节的学习 https://cn.vuejs.org/ 说明:目前最新是Vue3版本的,但是Vue2已经深得人心,所以就是可以支持二者合用。它们最大的区别就是Vue3是组合式API…...

开源一款基于 JAVA 的仓库管理系统,支持三方物流和厂内物流,包含 PDA 和 WEB 端的源码
大家好,我是一颗甜苞谷,今天分享一款基于 JAVA 的仓库管理系统,支持三方物流和厂内物流,包含 PDA 和 WEB 端的源码。 前言 在当前的物流仓储行业,企业面临着信息化升级的迫切需求,但往往受限于高昂的软件采购和维护成本。现有的…...

开源一套基于若依的wms仓库管理系统,支持lodop和网页打印入库单、出库单的源码
大家好,我是一颗甜苞谷,今天分享一款基于若依的wms仓库管理系统,支持lodop和网页打印入库单、出库单的源码。 前言 在当今快速发展的商业环境中,库存管理对于企业来说至关重要。然而,许多企业仍然依赖于传统的、手动…...

HTML+JavaScript案例分享: 打造经典俄罗斯方块,详解实现全过程
在本文中,我们将深入探讨如何使用 JavaScript 实现经典的俄罗斯方块游戏。俄罗斯方块是一款广为人知的益智游戏,通过操纵各种形状的方块,使其在游戏区域内排列整齐,以消除完整的行来获得分数。 效果图如下: 一、游戏界面与布局 我们首先使用 HTML 和 CSS 来创建游戏的界面…...

【网页布局技术】项目五 使用CSS设置导航栏
《CSSDIV网页样式与布局案例教程》 徐琴 目录 任务一 制作简单纵向导航栏支撑知识点1.合理利用display:block属性2.利用margin-bottom设置间隔效果3.利用border设置特殊边框 任务二 制作简单横向导航栏任务三 制作带图片效果的横向导航栏任务…...

自学网络安全,网络安全入门学习路线,收藏这篇就够了
在当今高度数字化的时代,网络安全已经成为了一个至关重要的领域。随着网络威胁的不断演变和增长,对于专业网络安全人才的需求也在急剧上升。对于那些对网络安全充满热情并且渴望自学成才的人来说,制定一个系统、全面且高效的学习路线和规划是…...
React Query已过时?新一代请求工具横空出世
大家好!今天我想和你们聊聊一个让我兴奋不已的话题 —— 分页列表请求策略。你们知道吗?这个策略真的帮了我大忙!它不仅让我的代码更简洁,还大大提升了用户体验。说实话,每次用到这个功能,我都忍不住赞叹。…...

视频怎么进行格式转换?6款视频转换MP4格式的免费软件!
在数字时代,视频格式的多样性为我们提供了丰富的观看和编辑选择,但同时也带来了格式不兼容的困扰:MOV、AVI、WMV、MKV……这些格式多多少少都会遇到因不兼容而无法播放或下载分享的场景。当你想要将视频文件从一种格式转换为另一种格式&#…...

智能文档处理平台:免费体验智能化医疗信息提取
前提:医疗行业信息碎片化问题普遍,手工数据录入效率低且易错,导致数据管理难度大。本系统可帮助医疗机构在信息管理上迈向智能化,优化流程并提升效率。 系统概述: 思通数科推出的智能文档处理系统,专为解…...
Java 中 InputStream 的使用:try-with-resources 与传统方式的比较
在 Java 中,处理输入输出流时,确保资源的正确管理至关重要。特别是 InputStream 这样的流,一旦使用完成,必须正确关闭以释放资源。本文将对两种常见的资源管理方式进行比较:try-with-resources 语句和传统的 try-catch…...

【MATLAB源码-第271期】基于matlab的雷达发射回波模拟,包括匹配滤波,加窗旁瓣控制,以及MTD处理。
操作环境: MATLAB 2022a 1、算法描述 雷达系统是一种广泛应用于目标探测和跟踪的技术,其核心在于发射电磁波并分析返回信号。本文将探讨雷达发射波形、回波信号的模拟、匹配滤波的过程、加窗控制旁瓣的策略以及慢时间MTD处理的整体系统框架。 一、雷…...
Linux系统编程——信号量
一、信号量的定义和原理 1、概念 原子操作:不可中断的一个或者一系列的操作,即一件事要么做要么不做。临界资源:不同进程能够看到的一份公共资源,一次只能被一个进程使用。PV操作:由于信号量只能进行两种操作等待和发…...
Oracle索引问题汇总
一、oracle 数据库TIMESTAMP 时间字段,设置索引后,通过该字段进行排序,索引排序不生效问题 1. 记录下在工作中遇到的一次索引问题 问题描述: 数据库:oracle; 日志记录表中的一个创建时间(create…...
基于QT用工厂模式实现串口通信与网络通信激光器的控制
配置文件网络配置:IP+Port 串口配置:端口号+波特率 首先,我们需要创建一个配置文件 config.ini,内容如下: [SerialLaser] portName = COM1 baudRate = 9600[NetworkLaser] ipAddress = 192.168.1.1 port = 1234两类激光器的实现: #include <QCoreApplicat…...
【代码随想录Day58】图论Part09
dijkstra(堆优化版)精讲 题目链接/文章讲解:代码随想录 import java.util.*;class Edge {int to; // 邻接顶点int val; // 边的权重Edge(int to, int val) {this.to to;this.val val;} }class Pair<U, V> {public final U first; …...
_或者%关键字模糊匹配查出所有数据
1、问题 sql模糊匹配,如果页面输入_或者%,可以查出所有数据。 (1) SELECT * FROM test WHERE sfsc N and zdzwm like %%% (2) SELECT * FROM test WHERE sfsc N and zdzwm like %_% 2、解决方案 (1)mysql数据库 加转义字…...
【Python】转换得到图片的rgb565格式数据
使用方法:首先在代码同级目录创建input_images文件夹,然后将需要转换的图片放进去。 然后根据你的需要,修改代码最下面的crop_size、resize以及file_name。 最后点击运行,即可得到图片的rgb565格式数据 from PIL import Image, I…...
隨筆 20241024 Kafka中的ISR列表:分区副本的族谱
在分布式系统中,数据的一致性和可靠性至关重要。Apache Kafka作为一个强大的流处理平台,利用其分区和副本机制来确保这些特性。在Kafka中,ISR(In-Sync Replicas)列表是一个关键概念,它用来追踪与领导者副本…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...

技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...

在 Spring Boot 中使用 JSP
jsp? 好多年没用了。重新整一下 还费了点时间,记录一下。 项目结构: pom: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://ww…...

ubuntu系统文件误删(/lib/x86_64-linux-gnu/libc.so.6)修复方案 [成功解决]
报错信息:libc.so.6: cannot open shared object file: No such file or directory: #ls, ln, sudo...命令都不能用 error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory重启后报错信息&…...

前端开发者常用网站
Can I use网站:一个查询网页技术兼容性的网站 一个查询网页技术兼容性的网站Can I use:Can I use... Support tables for HTML5, CSS3, etc (查询浏览器对HTML5的支持情况) 权威网站:MDN JavaScript权威网站:JavaScript | MDN...
OCR MLLM Evaluation
为什么需要评测体系?——背景与矛盾 能干的事: 看清楚发票、身份证上的字(准确率>90%),速度飞快(眨眼间完成)。干不了的事: 碰到复杂表格(合并单元…...