Ajax中XMLHttpRequest对象的详细解析

| responseXML | 服务器的相应,表示为XML,这个对象可以解析为一个DOM |

| status | 服务器的HTTP状态码 |

| statusText | HTTP状态的对应文本 |

[](()1.3.1 XMLHttpRequest属性的详细说明

属性:

  • 即可以使用xhr.xx的当时调用或者进行设置
[](()1.readyState属性(响应状态)
  • readyState属性表示请求/响应过程的当前活动阶段

  • 当XMLHttpRequest对象将一个HTTP请求发送到服务器会经历若干状态,直到请求被处理,然后所创建的XMLHttpRequest的实例对象才会接收一个响应。这样一来,脚本才能正确的相应各种状态,XMLHttpRequest暴露了一个描述对象状态的属性readyState属性,如下表

| readyState的取值 | 描述 |

| — | — |

| 0 | “未初始化”状态,此时XMLHttpRequest 对象已经创建,但是还没有初始化 |

| 1 | 描述一种"发送"状态,此时,代码以及调用了XMLHttpRequest对象的open()方法,并且XMLHttpRequest已经准备号把一个请求发送到服务器 |

| 2 | 描述一种“发送"状态,此时,已经调用了send()方法,把请求发送给服务器端,只是此时还没有收到一个相应 |

| 3 | 描述一种”正在接收“的状态,此时已经接收到HTTP响应头部信息,但是消息体部分还没完全接收结束 |

| 4 | 描述一种”已加载“状态,此时,响应已经被完全接受 |

简洁版:

  • 0:未初始化。以及创建XMLHttpRequest对象,还没调用open()方法

  • 1:启动。已经调用open()方法,但还没有调用send()方法

  • 2:发送。已经调用send()方法,但尚未接收到响应

  • 3:接收。已经接收到响应的部分数据

  • 4:完成。已经接收到响应的全部数据

[](()2.onreadystatechange属性
  • 只要readyState属性的值发送变化,都会触发以此onreadystatechange事件,因此,利用这个事件来检测每次状态发生变化后的readyState的值。

  • 一般清空下,只对readystate值为4的情况做处理,因此此时所有数据都已经就绪;

  • onreadystatechange属性接受一个EventListener值,向该方法只是无论readyState值何时改变,该对象都将激活

const xhr=new XMLHttpRequest();

xhr.open(‘get’,‘/server’,true);

xhr.onreadystatechange=function(){

if(xhr.readyState!==4){

return

}

if(xhr.status>=200&&xhr.status<300){

console.log(xhr.responseText)

}

}

xhr.send(null)

[](()3.timeout属性与ontimeout事件

    你可能感兴趣的:(Web前端,经验分享,前端,前端框架)