readyState与status
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的更多相关文章
- 【ERROR】使用jquery的ajax出现error:readyState=4,status=500
使用jquery的ajax出现error:readyState=4,status=500,ajax代码如下: $.ajax({ url : "../toBeFinMisManage/show ...
- Ajax关于readyState和status的讨论
熟悉web开发的程序员想必对Ajax也不会陌生.现在已经有很多js框架封装了ajax实现,例如JQuery的ajax函数,调用起来非常方便.当然本文不打算讲框架的使用,我们将从Ajax的javascr ...
- webApi前端ajax调用后端返回{"readyState":0,"status":0,"statusText":"error"}解决方案
var url = data.url, params = data.params, try_times = data.try_times , async = data.sync == 'false' ...
- IOS 10 微信 ajax readystate=0 status=0 解决方法
最近做了一个 基于微信访问的网页系统 发现IOS10.2.1 版本 访问的时候 AJAX报错,安卓和IOS11.4.1 没有这样的问题. 通过Fiddler抓包发现,AJAX请求时 报错信息为 {& ...
- ajax使用jsonp跨域调用webservice error错误信息"readyState":4,"status":200,"statusText":"success"
主要还是接口写有问题 至于ajax保持简洁写法即可 $.ajax({ dataType: 'jsonp', type: ‘get’, data: {}, url: '' })
- Ajax关于readyState(状态值)和status(状态码)的研究
var getXmlHttpRequest = function () { try{ //主流浏览器提供了XMLHttpRequest对象 return new XMLHttpRequest(); } ...
- xmlhttp.readyState==4 && xmlhttp.status==200的探究
作为一个后端人员,很惭愧,对Ajax的使用只局限在功能实现层面的交互,对底层通过XMLHttpRequest对象来使用的知识却没有仔细研究过.现总结如下 1. XMLHttpRequest 对象的相关 ...
- ajax原生js及readystate/status
菜鸟教程 ←← GET: <script> function ajaxGet(){ var xmlhttp; if(window.XMLHttpRequest){ //TE7+ Fi ...
- 探讨Ajax中有关readyState(状态值)和status(状态码)的问题
先看下面一段代码,然后给大家详细介绍,Ajax中有关readyState(状态值)和status(状态码)的问题,具体内容如下所示: var getXmlHttpRequest = function ...
随机推荐
- .NET中字符串split的C++实现
void CustomVersion::split(const string &s, char delim, vector<string> &elems){ istring ...
- Centos 升级 python
昨天把redmine的测试环境给搞Over了,想了下,干脆直接把环境给整成docker化的,配置环境的时候,安装docker-compose需要python2.7支持. CentOS 6 系统默认 P ...
- android分辨率适配
重要概念 什么是屏幕尺寸.屏幕分辨率.屏幕像素密度? 什么是dp.dip.dpi.sp.px?他们之间的关系是什么? 什么是mdpi.hdpi.xdpi.xxdpi?如何计算和区分? 在下面的内容中我 ...
- Ubuntu16.04双网卡主备配置
前几日写了一篇Ubuntu14.04双网卡主备配置,没成想变化总是这么快,今日安装某软件,提示最匹配的ubuntu版本是16.04,作为一个码农能有什么办法,只能不断去适应变化.拥抱变化. 首先16. ...
- ajax无刷新获取天气信息
浏览器由于安全方面的问题,禁止ajax跨域请求其他网站的数据,但是可以再本地的服务器上获取其他服务器的信息,在通过ajax请求本地服务来实现: <?php header("conten ...
- PHP-FPM子进程过少解决办法
/usr/local/php/var/log/php-fpm.log报一下错误 server reached pm.max_children setting (5), consider raising ...
- 如何使ul中li元素横向排列且不换行
外层div容器宽度固定,ul宽度随li(li宽度固定)的增加而撑开,但是当ul中li的宽度之和大于div时,ul没有撑开,而是li换行了,如何使li不换行? 解决方法:主要是外面容器设置为white- ...
- ECNU 3260 - 袋鼠妈妈找孩子
题目链接:http://acm.ecnu.edu.cn/problem/3260/ Time limit per test: 1.5 seconds Time limit all tests: 10. ...
- iOS多线程编程之GCD介绍(转载)
一.简单介绍 1.什么是GCD? 全称是Grand Central Dispatch,可译为“牛逼的中枢调度器” 纯C语言,提供了非常多强大的函数 2.GCD的优势 GCD是苹果公司为多核的并行运算提 ...
- AWTK 全称为 Toolkit AnyWhere,是 ZLG 倾心打造的一套基于 C 语言开发的 GUI 框架(三平台+2个手机平台+嵌入式)
最终目标: 支持开发嵌入式软件. 支持开发Linux应用程序. 支持开发MacOS应用程序. 支持开发Windows应用程序. 支持开发Android应用程序. 支持开发iOS应用程序. 支持开发2D ...