欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

ajax的xmlHttpRequest对象

程序员文章站 2022-03-10 14:07:24
...
转载请注明来源:ajax的xmlHttpRequest对象
XMLHttpRequest对象是ajax的核心,它有许多属性,方法和事件以便于脚本的处理和控制http的请求响应。如果你一直在使用原生的javascript做开发,那么在使用ajax的过程中,这个对象你需要非常了解,假使你用jquery之类的封装框架的话,那么多对它有一份了解,也能加深你对ajax的理解。

下面是它的一些属性的介绍:

1.readState属性:当xmlHttpRequest对象被创建后,这个属性,会告诉你,核心对象被创建后,是处于何种状态,是否可以访问或者处理,readState可以等于0,1,2,3,4;分别表示,0:已创建对象,但未初始化(如:int i;),1:已调用对象的open()方法,准备发送请求,2:已调用send()方法去请求,但是未得到响应,3:正在响应 ,4:完成响应,完成httpResponse响应的接收。

2.responseText属性:包含了客户端接收到的来自http响应的文本内容。当readState为0,或1或2时,该属性是一个空字符串,当为3时,是部分已接收到的字符串,当为4时,该属性为完整的响应信息。

3.responseXml属性:只有当readyState=4且响应头部的Content-Type的类型指定为XML(text/xml或者application/xml)时,该属性的值才为一个xml文档,否则为null,假使回传的xml格式不良或者未完成响应回传,该属性值也为null。它被用来描述xmlHttpRequest对象解析xml文档后的属性。

4.status属性:标记了http状态代码。只有在readyState=3或者4时,这个属性才能进行访问,否则获取该属性时,将引发异常。

5.statusText属性:标记了http状态代码的文本。只有在readyState=3或者4时,这个属性才能进行访问,否则获取该属性时,将引发异常。

下面是它的一个事件介绍:onreadystatechange事件

每当readyState的属性发生改变,就会触发该事件, 为ajax请求中使用最为频繁的核心事件。

下面是一些方法的介绍:

1.open():xmlHttpRequest对象通过调用open(method,uri,async,username,password)方法,进行初始化工作。调用该方法后,返回一个可以进行发送(send()方法)的对象。method为必填参数,按照http规范,可以为GET,POST,PUT,DELETE和HEAD;uri用于指定xmlHttpRequest对象请求的服务器地址,可以为相对路径或者绝对路径,最终都将解析为绝对路径;async用于指定是否异步,默认为true;如果服务器需要验证访问用户,那么username和password的这两个参数即可以使用到。

2.send():send()方法将open()方法中的参数进行请求发送,即它只能在open()调用之后,才能调用,即readState=1之后才能调用send(),在send()接受到响应信息之前,readyState=2,一旦send()接受到响应信息,readyState=3,直到最后接受完成,readyState=4。send方法使用也贵可选的参数,该参数可以包含可变类型的数据。对于大。多数的其它的数据类型,在调用send()之前,应该使用setRequestHeader()设置Content-Type 。一般使用send(null)显示调用该方法,假使send(data)中的data类型是DOMString,数据被编辑为utf-8,如果是Document,则由

data.xmlEncoding指定的编码串行化该数据。

3.about():可以暂停一个httpRequest的请求发送或者接收,并且将xmlHttpRequest对象设置为初始化状态。

4.setRequestHeader():设置请求的头部信息,当readyState=1时,可以在调用open()后调用它,否则会得到异常。

. 5.setResponseHeader():用于检索响应头信息,当readyState=4或者3时,才可以调用,否则得到一个空字符串。此外,getAllResponseHeader()用于获得所有的httpResponse的头部信息。

以上就是ajax的xmlHttpRequest对象的内容,更多相关内容请关注PHP中文网(www.php.cn)!

相关标签: ajax xmlHttpRequest