第4章XMLHTTPRequest对象.ppt
文本预览下载声明
第4章 XMLHttpRequest对象;第四章(XMLHttpRequest对象); XMLHttpRequest对象
XMLHttpRequest对象是整个Ajax技术中的核心,异步发送请求。异步发送请求是根本,局部刷新只是表面的现象。Ajax离开了XMLHttpRequest对象,将失去与服务器异步通信的能力。
XMLHttpRequest是一套可以在JavaScript、VBScript、Jscript等脚本语言中使用的API,它通过HTTP协议异步地向服务器发送请求,并可以获取从服务器返回的响应
XMLHttp是客户端同HTTP服务器通讯的协议,客户端通过XMLHTTP对象向服务器发送请求,并使用微软XML文档对象模型(DOM)来处理服务器的响应。
; XMLHttpRequest的方法
abort():停止发送当前请求
getAllResponseHeaders():获取服务器返回的全部响应头[04/01]
getResponseHeader(“headerLabel”):根据响应头的名字,获取对应的响应头
open(“method”,”URL”,[asyncFlag],[“username”],[“password”]):建立与服务器URL的连接,并设置请求的方法,以及是否使用异步请求。如果远程服务器需要使用用户名和密码;send(content):发送请求,其中content是请求参数
setRequestHeader(“label”,”value”):在发送请求之前,先设置请求头
用POST方法提交请求时
XMLHttpRequest.setRequestHeader(“Content-type”,”application/x-www-form-urlencoded”)
提交COOKIE时
XMLHttpRequest.setRequestHeader(“COOKIE”,”cookiename=cookievalue”)
提交XML
XMLHttpRequest.setRequestHeader(“Content-Type”,”text/xml”)
注:如果存在已命名的HTTP头,则会被新的定义覆盖,此方法必须在open方法后调用; XMLHttpRequest的属性
onreadystatechange:用于指定XMLHttpRequest对象状态改变时的时间处理函数
readyState:XMLHttpRequest对象的处理状态[04/02]
responseText:用于获取服务器的响应文本
responseXML:用于获取服务器响应的XML文档对象
;status:服务器返回的状态码,只有当服务器的响应已经完成时,才会有该状态码
statusText:服务器返回的状态文本信息,只有当服务器的响应已经完成时,才会有该状态文本信息[04/03];XMLHttpRequest对象的运行周期
(1)Ajax应用先从创建XMLHttpRequest对象开始,XMLHttpRequest对象允许通过客户端脚本来发送HTTP请求。第一步总是要创建一个XMLHttpRequest实例,然后使用它发送请求,这种请求方式可以是GET或POST
(2)XMLHttpRequest发送完之后,服务器的响应何时到达?应如何处理响应?当XMLHttpRequest对象的状态改变时,将触发其onreadystatechange事件,为XMLHttpRequest对象的onreadystatechange事件指定事件处理函数,改事件处理函数可以在XMLHttpRequest状态改变时被触发,这个事件处理函数称为回调函数
(3)XMLHttpRequest状态改变,且readyState为4时,表明服务器的响应已经完成,此时可以处理服务器响应
(4)使用事件处理函数监听XMLHttpRequest状态的改变,当XMLHttpRequest的readyState为4,且status为200时,事件处理函数处理服务器响应
(5)进入事件处理函数后,仍需借助XMLHttpRequest来获取服务器响应,调用responseText方法或responseXML方法获取服务器的响应,至此XMLHttpRequest对象的运行周期结束
(6)JS通过DOM操作将服务器响应动态加载到HTML页面中
;创建XMLHttpRequest对象
XMLHttpRequest在不同的浏览器中的实现完全不同,IE采用ActiveX Object实现,而Firefox、Opera等浏览器则采用不同的方式实现这个对象。即使是IE,不同版本也有不同的实现方式。
因此在创建XMLHttpReq
显示全部