XMLHttpRequest对象的属性和方法

XMLHttpRequest对象的属性:

(1)readyState属性

该属性代表请求的状态,当XMLHttpRequest对象把一个HTTp请求发送到服务器端时,会经历若干状态,一直等待直到请求被处理,然后再接收一个响应,这样脚本才能正确地响应各种状态,XMLHttpRequest对象的readyState属性值如下表所示:

属性

说明

onreadystatechange

状态改变时都会触发这个事件处理器,指向一个JavaScript函数

status

服务器的HTTP状态码

statusText

HTTP状态码的相应文本

responseText

服务器的响应,通常为一个字符串

responseXML

服务器的响应,通常为一个XML,可以解析为一个DOM对象

readyState

请求状态

readyState属性值

说明

0

未初始化状态,此时已创建了一个XMLHttpRequest对象,但是还没有初始化

1

发送状态,调用了open()方法,并已经准备好把一个请求发送到服务器

2

发送状态,已经调用send()方法,但没收到响应

3

正在接收状态,已经接收到HTTP响应头部信息,但是消息体部分还没完全接受结束

4

接受完全状态,即响应已被完全接收

(2)onreadystatchange属性

该属性是readyState属性值改变时的时间触发器,用来指定当readyState属性值改变时的处理时间。在使用时,常常以事件处理函数名称赋予onreadystatechange的方式,来为XMLHttpRequest指定事件触发器,而在事件处理函数中通过判断readyState状态值做出相应的处理。

(3)responseText属性

该属性包含接收到的HTTP响应的文本内容,当readyState值为0、1、2时,该属性值为一个空字符串。当readyState值为3时,该属性值包含客户端中未完成的响应信息。当readyState值为4时,该属性值包含完整的响应信息。

(4)responseXML属性

该属性包含接收的HTTP响应的XML内容。需要注意的是:当服务器以XML文档的格式返回响应数据时,responseXML属性值才不为null。

(5)status属性

Status属性值描述了HTTP状态代码,仅仅当readyState值为3或4时该属性才有效,当readyState值小于3时,试图存取status的值将会引发一个异常。

(6)statusText属性

该属性描述了HTTP状态代码文本,仅仅当readyState值为3或4时,该属性才有效,当readyState值小于3时,试图存取status的值将会引发一个异常。

XMLHttpRequest对象的方法:

方法

说明

Abort()

定制当前请求

getAllResponseHeaders()

将HTTP请求的所有响应首部作为key-value对返回

getResponseHeader()

返回制定首部的值

Open()

建立对服务器的调用

Send()

向服务器发送请求

setRequestHeader()

把指定首部设置为所提供的值

(1)abort()方法

该方法用来暂停与XMLHttpRequest对象相联系的HTTP请求,从而把对象福味道未初始化装填

(2)open(DOMString method,DOMString uri,Boolean async,DOMString username,DOMString password)方法

该方法用来初始化一个XMLHttpRequest对象,其中,method参数用于指定发送请求的HTTP方法(可以使GET方法、POST方法、PUT方法、DELETE方法或HEAD方法)。如果想将数据发送到服务器,则应该使用POST方法。如果想从服务器端检索数据,则应该使用GET方法。方法中的uri参数用于指定XMLHttpRequest对象把请求发送到与服务器相应的URI。Async参数指定了请求是否是异步的,其默认值是true。如果想发送一个同步请求,则需要把这个值设置为false。在调用open()方法后,XMLHttpRequest对象会将它的readyState属性设置为1,并且把responseText、responseXML、status和statusText属性设置为他们的初始值。

(3)send()方法

在调用open()方法准备好一个请求后,还需要把该请求发送到服务器,这时就需要调用send()方法。Send()方法中包含了一个可选的参数,该参数可以包含可变类型的数据。

(4)setRequestHeader(DOMString header,DOMString value)方法

该方法用来设置请求的头部信息,其中,header参数表示要设置的首部,value参数表示要设置的值。需要注意的是,该方法的调用必须在调用open()方法之后。

(5)getRequestHeader(DOMString header)方法

该方法用来得到首部信息其中header参数表示要得到的首部。该方法仅仅当readyState值是3或4时才可调用,否则会返回一个空字符串。

(6)getAllResponseHeader()方法

该方法用来得到所有的响应首部,此时readyState属性值必须为3或4,否则该方法将返回null值。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏PHP在线

PHP 面试知识梳理

算法与数据结构 BTree和B+tree BTree B树是为了磁盘或者其他存储设备而设计的一种多叉平衡查找树,相对于二叉树,B树的每个内节点有多个分支,即多叉...

50760
来自专栏IT派

PHP面试知识梳理

B树是为了磁盘或者其他存储设备而设计的一种多叉平衡查找树,相对于二叉树,B树的每个内节点有多个分支,即多叉。

34130
来自专栏PHP在线

PHP 面试知识梳理

算法与数据结构 BTree和B+tree BTree B树是为了磁盘或者其他存储设备而设计的一种多叉平衡查找树,相对于二叉树,B树的每个内节点有多个分支,即多叉...

55250
来自专栏技术随笔

解决Hexo博客文章置顶问题

426100
来自专栏编程思想之路

WiFiAp探究实录--功能实现与源码分析

Android虐我千百遍,我待Android如初恋。 ——————编辑于2017-08-02——————— wifi热点说的是wifiAp相...

1.7K90
来自专栏架构师小秘圈

分布式之缓存击穿

17150
来自专栏阿杜的世界

Redis学习札记

Redis支持两种持久化方式,一种是RDB方式(快照:根据指定的规则“定时”将内存中的数据存储在硬盘上),另一种是AOF方式(在每次执行命令后都将命令本身记录下...

14030
来自专栏性能与架构

Redis案例 - 事件提醒

场景 任务是 当 redis set 中有新元素时及时处理 需要在set有新元素后自动得到通知,省得使用轮询的方式来查看是否有新元素 相当于对set做一...

36580
来自专栏程序员宝库

PHP 面试知识梳理

算法与数据结构 BTree和B+tree BTree B树是为了磁盘或者其他存储设备而设计的一种多叉平衡查找树,相对于二叉树,B树的每个内节点有多个分支,即多叉...

442120
来自专栏逆向技术

32位汇编第四讲,干货分享,汇编注入的实现,以及快速定位调用API的数量(OD查看)

32位汇编第四讲,干货分享,汇编注入的实现,以及快速定位调用API的数量(OD查看) 昨天,大家可能都看了代码了,不知道昨天有没有在汇编代码的基础上,实现注入计...

24070

扫码关注云+社区

领取腾讯云代金券