Ajax中readyState和status
- readyState(状态值)
readyState是XMLHttpRequest对象的一个属性,该属性表示请求/响应过程的当前活动阶段,所以readyState可以认为是Ajax状态值。
有5种可取值:
0:未初始化。 尚未调用open()方法
1:启动。已经调用open()方法,但尚未调用send()方法。
2:发送。已经调用send()方法。但未接收到响应。
3:接收。已经接收到部分响应数据。
4:完成。已经接收到全部响应数据,而且已经可以在客户端使用了。
只要当readyState属性的值有一个变成另一个值时,都会触发一次readystatechange事件,通常只对readyState值为4的阶段感兴趣,所以一般会进行如下事件绑定
xhr.onreadystatechange = function(){if(xhr.readyState == 4 ){...}
}
- status(状态码)
status是XMLHttpRequest对象的一个属性,是对响应的http状态的一个说明,所以status可以认为是http状态码。无论ajax进行到哪一个步骤,都会有相应的status,也就是说在每一个readyState值下都有不同的status值。
状态码的5大类:
1xx:信息响应类,表示接收到请求并且继续处理。
2xx:处理成功响应类,表示动作被成功接收、理解和接受。
3xx:重定向响应类,表示为了完成指定的动作,必须接收进一步的处理。
4xx:客户端错误,表示客户请求包含语法错误或者不能正确执行。
5xx:服务端错误,表示服务器不能正确执行一个执行的请求。
当readyState值为4时表示服务器响应完成,客户端接收到了全部的数据,但是否是我们需要的数据无法确定,所以通常需要在确定了接收到全部数据后还要检查status的值,有如下处理。
xhr.onreadystatechange = function(){if(xhr.readyState == 4){if(xhr.status >= 200 && xhr.status < 300){...}}
}也可以
xhr.onreadystatechange = function(){//从效率上而言,对于readyState值的确定放到前面,效率更高if(xhr.readyState == 4 && (xhr.status >= 200 && xhr.status < 300){...}
}
Ajax中readyState和status相关推荐
- 简单解析Ajax中onreadystatechange事件的readyState属性和status属性
简单解析Ajax中的onreadystatechange 事件 onreadystatechange 事件 当请求被发送到服务器时,我们需要执行一些基于响应的任务.每当 readyState 改变时, ...
- Ajax中有关readyState(状态值)和status(状态码)的问题
var getXmlHttpRequest=function(){ try{ //主流浏览器提供了XMLHttpRequest对象 return new XMLHttpRequest(); }catc ...
- 【ajax】readyState=4并且status=200时,还进error方法
转载自 [ajax]readyState=4并且status=200时,还进error方法 今天在使用jquery.ajax方法去调用后台方法时,ajax中得参数data类型是"JSON& ...
- AJAX 状态值(readyState)与状态码(status)详解
总结:status体现的是服务器对请求的反馈,而readystate表明客户端与客户的交互状态过程. 1- AJAX状态值与状态码区别AJAX状态值是指,运行AJAX所经历过的几种状态,无论访问是否成 ...
- AJAX(二)ResponseText、onreadystatechange 事件、readyState、status、ASP和PHP、数据库实例、XML实例
AJAX(二)ResponseText.onreadystatechange 事件.readyState.status.ASP和PHP.数据库实例.XML实例 文章目录 AJAX(二)Response ...
- webApi前端ajax调用后端返回{“readyState“:0,“status“:0,“statusText“:“error“}解决方案
webApi前端ajax调用后端返回{"readyState":0,"status":0,"statusText":"error& ...
- IOS 10 微信 ajax readystate=0 status=0 解决方法
IOS 10 微信 ajax readystate=0 status=0 解决方法 参考文章: (1)IOS 10 微信 ajax readystate=0 status=0 解决方法 (2)http ...
- 因为返回有true ajax提示进入错误,jquery ajax中error返回错误解决办法
转自:https://www.jb51.net/article/72198.htm 进入百度搜索此问题,发现有人这么说了一句 Jquery中的Ajax的async默认是true(异步请求),如果想一个 ...
- Servlet 与 Ajax 交互一直报status=parsererror
Servlet 与 Ajax 交互一直报status=parsererror 原因:servlet 返回的数据不是 Json 格式 1.JS代码为: 1 var jsonStr = {'clu ...
- ajax加载进度百分比,在ajax中显示加载百分比的进度条,php
您好我正在使用ajax加载数据库内容.我想显示加载或图像的总百分比.在ajax中显示加载百分比的进度条,php 这是我的脚本 function name1(str) { if (str.length= ...
最新文章
- Spark 开窗函数
- 配置PIM auto-rp
- PMCAFF要搞一场区块链产品大会,各大厂全都来了!
- Ebooks C/C++
- Stanford CoreNLP--Part of Speech
- linux系统根目录执行了chmod,根目录执行chmod -R 777 / 的补救方法
- 20145201 《Java程序设计》第六周学习总结
- jdbc 生成建表语句_记录一次TDH的inceptor导出建表语句和数据
- c语言小程序:打文字游戏【图形库graphics.h】
- 前端下载音频的两种处理方式
- 2022年全球市场电动线性气缸总体规模、主要生产商、主要地区、产品和应用细分研究报告
- echarts甘特图
- 【10大基础算法】线性查找算法-NO5
- 【定量分析、量化金融与统计学】R语言方差分析的outliers陷阱
- 【特征工程】Chap3 Text Data: Flatten, Filtering, Chunking
- 微信小程序商城(微店)系统部署及搭建 电商类
- 如何在Nintendo Switch上禁用截图按钮
- 浅析Windows通信编程
- android 播放器架构,Android播放器框架设计系列-1
- Android实现键盘弹出界面上移
热门文章
- csgo红锁号能解锁吗_CSGO红锁黑刀号!重磅!大规模红锁!
- html加水平线紧挨文字,html怎么设置水平线与文字的距离
- linux下格式化SD卡
- i++和++i为毛会不一样
- explain是mysql的关键字吗_mysql 中的explain关键字
- 雅典娜暴利烹饪系列(下)
- Beaglebone Black– 智能家居控制系统 LAS - 网页服务器 Node.js 、Web Service、页面 和 TCP 请求转 UDP 发送...
- python列表del_python删除列表元素的三种方法(remove,pop,del)
- R语言分析股票指数的GARCH效应
- 占坑:fullpage.js 在edge浏览器上上下移动鼠标(不滚动滚轮)会翻页的问题