XMLHTTPRequest的一些方法

XMLHttpRequest对象可以在不向服务器提交整个页面的情况下,实现局部更新网页。当页面全部加载完毕后,客户端通过该对象向服务器请求数据,服务器端接受数据并处理后,向客户端反馈数据。

创建对象

var XMLHttp=null;
if (window.XMLHttpRequest)
{
XMLHttp=new XMLHttpRequest()//Firefox Mozilla Opera Safari
}else if (window.ActiveXObject)
{
XMLHttp=new ActiveXObject("Microsoft.XMLHTTP"//ie5.5+
}

属性

readyState
HTTP 请求的状态.当一个 XMLHttpRequest 初次创建时,这个属性的值从 0 开始,直到接收到完整的 HTTP 响应,这个值增加到 4。
这里写图片描述

方法

abort()
取消当前响应,关闭连接并且结束任何未决的网络活动。
这个方法把 XMLHttpRequest 对象重置为 readyState 为 0 的状态,并且取消所有未决的网络活动。例如,如果请求用了太长时间,而且响应不再必要的时候,可以调用这个方法。

getAllResponseHeaders()
把 HTTP 响应头部作为未解析的字符串返回。
如果 readyState 小于 3,这个方法返回 null。否则,它返回服务器发送的所有 HTTP 响应的头部。头部作为单个的字符串返回,一行一个头部。每行用换行符 “” 隔开。

getResponseHeader()
返回指定的 HTTP 响应头部的值。其参数是要返回的 HTTP 响应头部的名称。可以使用任何大小写来制定这个头部名字,和响应头部的比较是不区分大小写的。
该方法的返回值是指定的 HTTP 响应头部的值,如果没有接收到这个头部或者 readyState 小于 3 则为空字符串。如果接收到多个有指定名称的头部,这个头部的值被连接起来并返回,使用逗号和空格分隔开各个头部的值。

open()
初始化 HTTP 请求参数,例如 URL 和 HTTP 方法,但是并不发送请求。
open(method, url, async, username, password)
method 参数是用于请求的 HTTP 方法。值包括 GET、POST 、HEAD、PUT、DELETE、OPTIONS等
url 参数是一个字符串值,是请求的主体,并且要求这个 URL 与包含脚本的文本具有相同的主机名和端口。否则会报错。
async是一个布尔值,标识请求是同步还是异步,默认为true,表示异步。
username和password是可选参数。

send()
发送 HTTP 请求,使用传递给 open() 方法的参数,以及传递给该方法的可选请求体。
send(data)
data为任何可转换为字符串类型的值,可省略。
如果 readyState 不是 1,send() 抛出一个异常

setRequestHeader()
向一个打开但未发送的请求设置或添加一个 HTTP 请求。
setRequestHeader(name, value)
name 参数是要设置的头部的名称。这个参数不应该包括空格、冒号或换行。
value 参数是头部的值。这个参数不应该包括换行。

事件句柄

onreadystatechange
如果XMLHttpRequest对象的send方法第三个参数是true,也就是发送了异步请求,onreadystatechange将自动在XMLHttpRequest对象的readyState属性改变时被触发。

状态改变过程如下:

当open方法被成功调用,readyState属性被置为1(Open);
当send方法被调用,成功接收到HTTP响应头,readyState属性被置为2(Send);
HTTP响应内容开始接收,readyState属性被置为3(Recieving);
HTTP响应内容结束接受,readyState属性被置为4(Loaded);

当监听器被定义之后,每次状态改变时都会触发。为了检测状态1和状态2,监听器必须在open方法调用前调用。open方法必须在send方法调用前调用。
当readyState为3时可能会被多次调用

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值