AJAX—XMLHttpRequest对象

本文详细介绍了使用XMLHttpRequest (XHR) 发起HTTP请求的具体步骤,包括创建XHR对象、监听状态改变事件、连接服务器及发送请求消息。同时,还阐述了AJAX的工作原理及其涉及的关键技术。

使用XHR发起HTTP请求的步骤

  //1 创建xhr对象

<span style="white-space:pre">	</span>var xhr = null;

<span style="white-space:pre">	</span>if(window.XMLHttpRequest){//其它浏览器

<span style="white-space:pre">		</span>xhr = new XMLHttpRequest();

<span style="white-space:pre">	</span>}else {                          //解决老IE兼容问题

   <span style="white-space:pre">		</span>xhr = new ActiveXObject('Microsoft.XMLHttp');

<span style="white-space:pre">	</span>}


  //2 监听xhr的状态改变事件

<span style="white-space:pre">	</span>xhr.onreadystatechange = function(){

<span style="white-space:pre">		</span>if(xhr.readyState===4){//响应消息接收完成

<span style="white-space:pre">		</span>if(xhr.status===200){//响应完成且成功

<span style="white-space:pre">		</span>}else{//响应完成但有问题
<span style="white-space:pre">	</span>
<span style="white-space:pre">			</span>}
<span style="white-space:pre">	</span>
<span style="white-space:pre">		</span>}

<span style="white-space:pre">	</span>}


  //3 连接到服务器

<span style="white-space:pre">	</span>xhr.open('GET', 'x.php', true);//参数为(“请求方式”,“请求文件地址”,“是否是异步请求”)
	<span style="white-space:pre">	</span>		<span style="white-space:pre">	</span>//GET请求时,请求内容放在地址后,“?K=V”

  //4 发送请求消息

<span style="white-space:pre">	</span>xhr.send( null / 'k=v&k=v' );
 

 

(1)AJAX概述    AJAX = Asynchronous JavaScript and XML(异步的 JavaScript XML

   实现原理:在客户端浏览网页内容的同时,服务器在提供最新的内容,局部更新在页面中

——无提交无刷新的页面内容局部更新技术


   AJAX应用涉及到的技术:HTML、CSS、JS、DOM、XML、HTTP协议等

——纯前端技术,需要与Web服务器交互。

 

(2)AJAX应用的核心JS对象:

——XMLHttpRequest:向Web服务器发起HTTP请求,并接收响应消息。

 

 

 XMLHttpRequest对象成员

readyState

存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。

0:UNSENT

请求消息未初始化

1:OPENED

XHR已经打开到服务器的链接(xhr.open()已启动)

2:HEADERS_RECEIVED

请求已经发送完成,开始接受响应消息头部

3:LOADING

解析,加载响应消息主体

4:DONE

响应消息接受完成

 

status:

响应状态码readyState变为2才有值--200表示响应成功

statusText

原因断句,readyState变为2才有值

 

response

响应数据

responseType

响应数据的类型                //默认值是空字符串

responseText

字符串形式的响应数据

responseXML

XML形式的响应数据

responseURL

返回响应的经过序列化的URL

timeout:0

用于规定超时时间,(与ontimeout事件一起使用)

 

XHR对象的核心成员事件

onreadystatechange

当xhr.readyState属性值发生改变

 

XHR对象的成员方法

getAllResponseHeaders()

 

getResponseHeader()

读取响应头部

setRequestHeader()

设置请求头部

Open()

打开到服务器的链接

send()

发送请求消息

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值