XMLHttpRequest提提提户端端http服务器器讯的协协Example下下的下码是是JScript中创建建个XMLHTTP对象并从服务器请求建个XML文档。服务器器器XML文档并显示。是在IE的浏浏器中器器器器newXMLHttpRequest()来创建对象器象下象vbscript象备备备备注注注注提户端端端器过XmlHttp对象(MSXML2.XMLHTTP.3.0)向http服务器发送请求并使器使软XML文档对象象型Microsoft®XMLDocumentObjectModel(DOM)处理器应。参参参参考考考考XMLHTTPRequest成员XMLHTTP对象参考XMLHTTPRequest对象XMLHTTPRequest成员onreadystatechangereadyStateresponseBodyresponseStreamresponseTextresponseXMLstatusstatusTextabortgetAllResponseHeadersgetResponseHeaderopensendsetRequestHeadervarxmlHttpReq=newActiveXObject(MSXML2.XMLHTTP.3.0);xmlHttpReq.open(GET,);xmlHttpReq.send();alert(xmlHttpReq.responseText);varxmlHttpReq=newXMLHttpRequest();xmlHttpReq.open(GET,);xmlHttpReq.send();alert(xmlHttpReq.responseText);DimHttpReqAsNewMSXML2.XMLHTTP30HttpReq.openGET,©2005xmlhttp.cn.Allrightsreserved.禁止任何形式的禁止任何形式的禁止任何形式的禁止任何形式的转载转载转载转载!!!!XMLHttpRequest成成成成员员员员属属属属性性性性*表表表属性性W3C文档对象象象象扩展.方法方法方法方法事件事件事件事件无参参参参考考考考XMLHTTPRequestCopyright©2005xmlhttp.cn.Allrightsreserved.禁止任何形式象禁止任何形式象禁止任何形式象禁止任何形式象转载转载转载转载!!!!XMLHTTP对象参考XMLHTTPRequest对象XMLHTTPRequest成员onreadystatechangereadyStateresponseBodyresponseStreamresponseTextresponseXMLstatusstatusTextabortgetAllResponseHeadersgetResponseHeaderopensendsetRequestHeaderonreadystatechange*指指当readyState属性性变变象事件处理理理理只写readyState返返当前请求象状态,只读.responseBody将返应信信信文信unsignedbyte数组形式返返.只读responseStream信AdoStream对象象形式返返响应信信理只读responseText将响应信信信为字字字返返.只读responseXML将响应信信信式信为XmlDocument对象并返返,只读status返返当前请求象http状态态.只读statusText返返当前请求象响应行状态,只读abort取取当前请求getAllResponseHeaders获取响应象的的http头getResponseHeader从响应信信信获取指指象http头open创建建个新象http请求,并指指表请求象方法求URL信以验验信信(用户名/密态)send发送请求求http服务器并接接返应setRequestHeader单独指指请求象求个http头onreadystatechange指指当readyState属性性变变的的的处理理理语语语语法法法法Example如如的如如如如当XMLHTTPRequest对象的readyState属性性变变变用HandleStateChange函数,当数据据据据毕后后readystate==4))页面面的面个按钮将被被被备备备备注注注注)属性性写,为W3C文档对象象象的扩展.XMLHTTP对象参考XMLHTTPRequest对象XMLHTTPRequest成员onreadystatechangereadyStateresponseBodyresponseStreamresponseTextresponseXMLstatusstatusTextabortgetAllResponseHeadersgetResponseHeaderopensendsetRequestHeaderoXMLHttpRequest.onreadystatechange=funcMyHandler;varxmlhttp=null;functionPostOrder(xmldoc){varxmlhttp=newActiveXObject(Msxml2.XMLHTTP.5.0);xmlhttp.Open(POST,);xmlhttp.onreadystatechange=HandleStateChange;xmlhttp.Send(xmldoc);myButton.disabled=true;}functionHandleStateChange(){if(xmlhttp.readyState==4){myButton.disabled=false;alert(Result=+xmlhttp.responseXML.xml);}}参参参参考考考考readyState属性Copyright©2005xmlhttp.cn.Allrightsreserved.禁止任何形式的禁止任何形式的禁止任何形式的禁止任何形式的转载转载转载转载!!!!readyState返返XMLHTTP请求求当前状态语语语语法法法法Example备备备备注注注注变量量量属性性读量状态用长度为4求的的的的.定义如如如XMLHTTP对象参考XMLHTTPRequest对象XMLHTTPRequest成员onreadystatechangereadyStateresponseBodyresponseStreamresponseTextresponseXMLstatusstatusTextabortgetAllResponseHeadersgetResponseHeaderopensendsetRequestHeaderlValue=oXMLHttpRequest.readyState;varXmlHttp;XmlHttp=newActiveXObject(Msxml2.XMLHTTP.3.0);functionsend(){XmlHttp.onreadystatechange=doHttpReadyStateChange;XmlHttp.open(GET,);XmlHttp.send();}functiondoHttpReadyStateChange(){if(XmlHttp.readyState==4){alert(Done);}}0(未未未化)对象象象象量象象尚未未未化未尚未调用open方法方1(未未化)对象象象象量尚未调用send方法2(发送数send方法象调用量象象当前求状态及http头未未参参参参考考考考open方法responseBody属性responseText属性send方法status属性statusText属性Copyright©2005xmlhttp.cn.Allrightsreserved.禁止任何形式求禁止任何形式求禁止任何形式求禁止任何形式求转载转载转载转载!!!!据)3(数据传送中)象已已已已数据量据为为为及http头不不量这这通过responseBody和responseText获取已已数据会出现现现量4(完成)数据已已完毕,量这可可通过通过responseBody和responseText获取完的求返为数据responseBody返返返返返返返返务器响响数据语语语语法法法法Example备备备备注注注注变量量量属性性读量,unsignedarray返返格格格格从返务器返返返器经解码返的进制数据据参参参参考考考考responseStream属性responseText属性responseXML属性Copyright©2005xmlhttp.cn.Allrightsreserved.禁止任何形返返禁止任何形返返禁止任何形返返禁止任何形返返转载转载转载转载!!!!XMLHTTP对象参考XMLHTTPRequest对象XMLHTTPRequest成员onreadystatechangereadyStateresponseBodyresponseStreamresponseTextresponseXMLstatusstatusTextabortgetAllResponseHeadersgetResponseHeaderopensendsetRequestHeaderstrValue=oXMLHttpRequest.responseBody;varxmlhttp=newActiveXObject(Msxml2.XMLHTTP.3.0);xmlhttp.open(GET,);xmlhttp.send();alert(xmlhttp.responseBody);responseStream以AdoStream对象象象象象象响响信信语语语语法法法法备备备备注注注注变量量量属性性读量以AdoStream对象象象象象象响响信信信参参参参考考考考responseBody属性responseText属性responseXML属性Copyright©2005xmlhttp.cn.Allrightsreserved.禁止任何象象象禁止任何象象象禁止任何象象象禁止任何象象象转载转载转载转载!!!!XMLHTTP对象参考XMLHTTPRequest对象XMLHTTPRequest成员onreadystatechangereadyStateresponseBodyresponseStreamresponseTextresponseXMLstatusstatusTextabortgetAllResponseHeadersgetResponseHeaderopensendsetRequestHeaderstrValue=oXMLHttpRequest.responseStream;responseText将响响信信信为字字字字字语语语语法法法法Example备备备备注注注注变量量量属性性读量将响响信信信为字字字字字字XMLHTTP尝尝将响响信信信码为Unicode字字字量XMLHTTP默认将响响数据据编码定为UTF-8量,,,务器字字据数据带BOM(byte-ordermark)量XMLHTTP可可信码任任UCS-2(bigorlittleendian)或或UCS-4数据字注据量,,,务器字字据器xml文档量量属性并不处理xml文档中据编码声明字你需需需用responseXML来处理字参参参参考考考考responseBody属性responseText属性responseXML属性