XMLHttpRequest对象(Ajax)的状态码(readystate)

当一个XMLHttpRequest初次创建时,这个属性的值是从0开始,知道接收完整的HTTP响应,这个值增加到4。有五种状态:

状态0 (未初始化): (XMLHttpRequest)对象已经创建或已被abort()方法重置,但还没有调用open()方法;

状态1 (载入):已经调用open() 方法,但是send()方法未调用,尚未发送请求;

状态2 (载入完成): send()方法已调用,HTTP请求已发送到web服务器,请求已经发送完成,未接收到响应;

状态3 (交互):所有响应头部都已经接收到。响应体开始接收但未完成,即可以接收到部分响应数据;

状态4 (完成):已经接收到了全部数据,并且连接已经关闭。

readystate的值不会递减,除非当一个请求在处理过程中的时候调用了abort()或open()方法。每次这个属性的值增加的时候,都会触发onreadystatechange事件句柄。

HTTP状态代码(status)

status是由服务器返回的HTTP状态代码,实际是一种辅状态判断,只是status更多是服务器方的状态判断。当readystate小于3的时候读这一属性会导致一个异常。

1xx—信息类:表示收到Web浏览器请求,正在进一步的处理中。

100:客户必须继续发出请求;

101:客户要求服务器根据请求转换HTTP协议版本。服务器转换协议。

2xx—成功:表示用户请求被正确接收,理解和处理。

200:OK;

201:提示知道新文件的URL。请求被创建完成,同时新的资源被创建。

202:共处理的请求已被接受,但是处理未完成。

203:文档已经正常的返回,但一些应答头可能不正确,因为使用的是文档的拷贝。

204:没有新文档。浏览器应该继续显示原来的文档。如果用户定期的刷新页面,而servlet可以确定用户文档足够新,这个状态代码是很有用的。

205:没有新文档。但是浏览器应该重置它所显示的内容。用来强制浏览器清除表单输入内容。

3xx—重定向:表示请求没有成功,客户必须采取进一步的动作。

300:请求的资源可在多处得到。

301:删除请求数据,所请求的页面已经转移至新的url。

302:所请求的页面已经临时转移至新的url。

303:所请求的页面可在别的url下被找到。

4xx—客户端错误:表示客户端提交的请求有错误。

404:NOT Found,意味着请求中所引用的文档不存在。

401:被请求的页面需要用户名和密码。

402:此代码尚无法使用。

403:对被请求页面的访问被禁止。

404:服务器无法找到被请求的页面。

405:请求中指定的方法不被允许。

406:服务器生成的响应无法被客户端所接受。

407:用户必须首先使用代理服务器进行验证,这样请求才会被处理。

408:请求超出了服务器的等待时间。

409:由于冲突,请求无法被完成。

410:被请求页面不可用。

411:"Content-length“未被定义。如果无此内容,服务器不会接受请求。

412:请求中的前提条件被服务器评估为失败。

413:由于所请求的实体太大,服务器不会接受请求。

414:由于url太长,服务器不会接受请求。当post请求被转换为带很长的查询信息的get请求时,就会发生414错误。

415:由于媒介类型不被支持,服务器不会接受请求。

416:服务器不能满足客户在请求中指定的Range头。

5xx—服务器错误:表示服务器不能完成对请求的处理。

500:服务器产生内部错误。请求未完成。服务器遇到不可预知的情况。

501:请求未完成。服务器不支持所请求的功能。

502:请求未完成。服务器从上游服务器收到一个无效的响应。

503:请求未完成。服务器临时过载或当机。

504,网关超时。

505,服务器不支持请求中指明的HTTP协议版本。

readyState与status的更多相关文章

  1. 【ERROR】使用jquery的ajax出现error:readyState=4,status=500

    使用jquery的ajax出现error:readyState=4,status=500,ajax代码如下: $.ajax({ url : "../toBeFinMisManage/show ...

  2. Ajax关于readyState和status的讨论

    熟悉web开发的程序员想必对Ajax也不会陌生.现在已经有很多js框架封装了ajax实现,例如JQuery的ajax函数,调用起来非常方便.当然本文不打算讲框架的使用,我们将从Ajax的javascr ...

  3. webApi前端ajax调用后端返回{"readyState":0,"status":0,"statusText":"error"}解决方案

    var url = data.url, params = data.params, try_times = data.try_times , async = data.sync == 'false' ...

  4. IOS 10 微信 ajax readystate=0 status=0 解决方法

    最近做了一个 基于微信访问的网页系统 发现IOS10.2.1 版本 访问的时候 AJAX报错,安卓和IOS11.4.1 没有这样的问题. 通过Fiddler抓包发现,AJAX请求时 报错信息为  {& ...

  5. ajax使用jsonp跨域调用webservice error错误信息"readyState":4,"status":200,"statusText":"success"

    主要还是接口写有问题 至于ajax保持简洁写法即可 $.ajax({ dataType: 'jsonp', type: ‘get’, data: {}, url: '' })

  6. Ajax关于readyState(状态值)和status(状态码)的研究

    var getXmlHttpRequest = function () { try{ //主流浏览器提供了XMLHttpRequest对象 return new XMLHttpRequest(); } ...

  7. xmlhttp.readyState==4 && xmlhttp.status==200的探究

    作为一个后端人员,很惭愧,对Ajax的使用只局限在功能实现层面的交互,对底层通过XMLHttpRequest对象来使用的知识却没有仔细研究过.现总结如下 1. XMLHttpRequest 对象的相关 ...

  8. ajax原生js及readystate/status

    菜鸟教程 ←← GET: <script> function  ajaxGet(){ var  xmlhttp; if(window.XMLHttpRequest){ //TE7+  Fi ...

  9. 探讨Ajax中有关readyState(状态值)和status(状态码)的问题

    先看下面一段代码,然后给大家详细介绍,Ajax中有关readyState(状态值)和status(状态码)的问题,具体内容如下所示: var getXmlHttpRequest = function ...

随机推荐

  1. Node.js 命令行程序开发资料

    Node.js 命令行程序开发教程http://www.ruanyifeng.com/blog/2015/05/command-line-with-node.html用Node.js创建命令行工具ht ...

  2. yii---定义全局函数

    YII它不像Thinkphp等框架一样,已经有全局函数,YII要使用全局函数需要自己去定义,然后在入口文件中进行引入: 例如:我们看 yii 的入口文件: 看到这里,我们看到有个 autoload.p ...

  3. Spark2 jar包运行完成,退出spark,释放资源

    import org.apache.spark.sql.SparkSession import org.apache.spark.sql.Dataset import org.apache.spark ...

  4. 江南OJ 1151 - 还是晒太阳 - [状压DP]

    题目链接:校内OJ的题目,就不放链接了. PS.可以说是本次9月月赛唯一的一道有一定难度的题目了. 题解: 考虑状压DP,假设 $sta$ 是一个二进制数,代表当前 $n$ 个人有几个是在队伍里的,剩 ...

  5. OpenJ_Bailian - 4152 最佳加法表达式 dp

    http://bailian.openjudge.cn/practice/4152?lang=en_US 题解 :dp[i][j]代表前i个字符加j个加号可以得到的最小值,于是dp[i+k[j+1]可 ...

  6. CodeForces - 583C GCD Table map的auto遍历 ,有点贪心的想法

    题意:给你n*n gcd表中的所有数(以任意顺序) ,求对角线上的n个数分别是什么.gcd表定义如下,先将n个数填在对角线的上,然后将各个格子填上对应对角线上的数的gcd值,也就是V[i][j]=gc ...

  7. RFQ 、IFB、RFP 、RFI的区别是什么

    询价类型 信息索取书 RFI 报价申请书 RFQ 建议要求书 RFP 投标邀请书 IFB 目的 获得与产品服务供应商相关信息 取得供应商对所需产品.服务或服务的承诺 要求供应商对需求提出最好解决方案建 ...

  8. 网络解析(一):LeNet-5详解

    https://cuijiahua.com/blog/2018/01/dl_3.html 一.前言 LeNet-5出自论文Gradient-Based Learning Applied to Docu ...

  9. sql根据某一个字段重复只取第一条数据

    比如上图,取3,4行记录的第一行也就是3行,而不返回4行. 使用分析函数row_number() over (partiion by ... order by ...)来进行分组编号,然后取分组标号值 ...

  10. java内存区域-方法区

    方法区(Method Area)与java堆一样,是各个线程共享的内存区域,它用于存储已被虚拟机加载的类信息.常量.静态变量.即时编译器编译后的代码等数据.虽然java虚拟机规范把方法区描述为堆的一个 ...