首页 > 开发 > AJAX > 正文

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

2024-09-01 08:27:53
字体:
来源:转载
供稿:网友

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

var getXmlHttpRequest = function () {try{//主流浏览器提供了XMLHttpRequest对象return new XMLHttpRequest();}catch(e){//低版本的IE浏览器没有提供XMLHttpRequest对象,IE6以下//所以必须使用IE浏览器的特定实现ActiveXObjectreturn new ActiveXObject("Microsoft.XMLHTTP");}};var xhr = getXmlHttpRequest();// readyState 0=>初始化 1=>载入 2=>载入完成 3=>解析 4=>完成// console.log(xhr.readyState); 0xhr.open("TYPE", "URL", true);// console.log(xhr.readyState); 1xhr.send();// console.log(xhr.readyState); 1xhr.onreadystatechange = function () {// console.log(xhr.status); //HTTP状态吗// console.log(xhr.readyState); 2 3 4if(xhr.readyState === 4 && xhr.status === 200){alert(xhr.responseText);}};

1.Ajax:readyState(状态值)和status(状态码)的区别

readyState,是指运行AJAX所经历过的几种状态,无论访问是否成功都将响应的步骤,可以理解成为AJAX运行步骤,使用“ajax.readyState”获得

status,是指无论AJAX访问是否成功,由HTTP协议根据所提交的信息,服务器所返回的HTTP头信息代码,使用“ajax.status”获得
总体理解:可以简单的理解为state代表一个整体的状态。而status是这个大的state下面具体的小的状态。

2.什么是readyState

readyState是XMLHttpRequest对象的一个属性,用来标识当前XMLHttpRequest对象处于什么状态。

readyState总共有5个状态值,分别为0~4,每个值代表了不同的含义

0:初始化,XMLHttpRequest对象还没有完成初始化

1:载入,XMLHttpRequest对象开始发送请求

2:载入完成,XMLHttpRequest对象的请求发送完成

3:解析,XMLHttpRequest对象开始读取服务器的响应

4:完成,XMLHttpRequest对象读取服务器响应结束

3.什么是status

status是XMLHttpRequest对象的一个属性,表示响应的HTTP状态码

在HTTP1.1协议下,HTTP状态码总共可分为5大类

1xx:信息响应类,表示接收到请求并且继续处理

2xx:处理成功响应类,表示动作被成功接收、理解和接受

3xx:重定向响应类,为了完成指定的动作,必须接受进一步处理

4xx:客户端错误,客户请求包含语法错误或者是不能正确执行

5xx:服务端错误,服务器不能正确执行一个正确的请求

100——客户必须继续发出请求

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

200——交易成功

201——提示知道新文件的URL

202——接受和处理、但处理未完成

203——返回信息不确定或不完整

204——请求收到,但返回信息为空

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表