版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、js 建立 XMLHttpRequest 对象及其属性和方法1./定义变量,存储对象2.3.var xmlHttp;/创建 XMLHttpRequest 对象4.function creatXMLHttpRequest()5.6.if (window.ActiveXObject)7.8.9.xmlHttp= new ActiveXObject( "Microsoft.XMLHTTP" ); 10.else if (window.XMLHttpRequest)11.12.xmlHttp= new XMLHttpRequest();13.14.15./使用 get 方式建立与后
2、台的交互16.function callServer()7.creatXMLHttpRequest()19.var email=document.getElementById( "TxtEmail" ).value;20.if (email= "")21.22.document.getElementById("LabMsg" ).innerText= "请输入邮箱!23.document.getElementById("LabMsg" ).style.color= "red&
3、quot; ;24.25.else26.27.url= "register.aspx?email="+ email + "&ts" + new Date().getTime();28.29.xmlHttp.onreadystatechange=handleStateChange;30.xmlHttp.send( null );31.32.33./回调函数,后台处理完结果后返回给回调函数34.function handleStateChange()35./请求的状态有 5 个值: 0=未初始化; 1= 正在加载; 2= 已经加载; 3= 交互中;
4、4= 完成;37.if (xmlHttp.readyState=4)xmlHttp.open( "GET" ,url,true );39./200对应OK,女n 404=未找到网页40.if (xmlHtt p.status=200)41.42.var result=xmlHtt p.res po nseXML.getElementsByTagName("result" )0.firstC1.62.hild.nodeValue;if (resul
5、t= "true")document.getElementByld(document.getElementById(else if (result= "false")document.getElementById(document.getElementById(post请求"LabMsg" ).innerHTML="恭喜,可用!""LabMsg" ).style.color= "red""LabMsg" ).innerText="该邮箱已存在!&
6、quot;:"LabMsg" ).style.color= "red"url= "register.aspx?email=" + email + "&ts" + new Date().getTime();xmlHtt p.on readystatechange=handleStateChange;xmlHttp.open( "POST" ,url,false );xmlHttp.SetRequestHeader("Content-Type" ,"applic
7、ation/x-www-form-urlencoded");xmlHttp.send( null );1/定义变量,存储对象var xmlHtt p;/ 创建XMLHttpReques对象 function creatXMLHtt pRequest()if(window.ActiveXObject)xmlHtt p=new ActiveXObject("Microsoft.XMLHTT P");else if(window.XMLHtt pRequest)xmlHtt p=new XMLHtt pRequest();/使用get方式建立与后台的交互function
8、 callServer()creatXMLHtt pRequest()var email=document.getElementById("TxtEmail").value; if(email="")后台处理请求的代码:view pl ainc opy to cli pboard print?1./写在所请求的 URL页面的page_load下2.string email;3.4.email = Request.QueryString "email"myCustomer.Email = email;5.if (email = stri
9、ng .Empty | email = null )10.6.7.return ;8.9.else11.StringBuilder result = new StringBuilder( "<result>");12.if (myCheck.HaveCustomer(myCustomer)13.14.15.result.Append("false");16.result.Append("</result>");17.Response.ContentType ="text/xml"18.Res
10、 po nse.Write(result.ToString();19.20.Respo nse.End();21.else22.23.result.Append( "true");24.result.Append("</result>");25.Response.ContentType ="text/xml"26.Respo nse.Write(result.ToStnng();27.Respo nse.End();28.29.StringBuilder result = new StringBuilder("&
11、lt;result>"); if (myCheck.HaveCustomer(myCustomer)result.A pp end("false");result.A pp end("</result>");Respo nse.ContentT ype = "text/xml"Respo nse.Write(result.ToString();Respo nse.End();elseresult.A pp end("true");result.A pp end("</re
12、sult>");Respo nse.ContentT ype = "text/xml"Respo nse.Write(result.ToString();Respo nse.End();XMLHtt pRequest对象的属性XMLHtt pRequest对象提供了许多属性,处理XMLHtt pRequest时需要频繁用到这些属性,如下表所示:属性描述onreadystatechange每个状态改变时都会触发这个事件处理程序,通常会调 用一个JavaScript函数readyState请求的状态respo nseText服务器的响应,表示为一个串respo
13、nseXML服务器的响应,表示为 XML,这个对象可以解析为一个DOM对象status服务器的HTTP状态statusTextHTTP状态的对应文本下面是属性和事件的详细说明1. readyState 属性当XMLHttpRequest对象吧一个HTTP请求发送到服务器时将经历若干种状态。一直等待直 到请求被处理,然后,它才接收一个响应。这样以来,脚本才正确响应各种状态,XMLHttpRequest对象暴露一个描述对象的当前状态的readyState属性,如下表所示:readyState 取 值描述0描述一种“未初始化”状态。此时,已经创建了一个XMLHtt pRequest对象,但是还没有初
14、始化。1描述一种“发送”状态。此时,代码已经调用了XMLHtt pRequestopen()方法并且XMLHttpRequest已经准备好把一个请求发送到服务 器。2描述一种“发送”状态。此时,已经通过send()方法把一个请求发送到服务器端,但是还没有收到一个响应。3描述一种“正在接收”状态。此时,已经接收到HTTP响应头部信息,但是消息体部分还没有完全接收结束。4描述一种“已加载”状态。此时,响应已经被完全接收。2. onreadystatechange 属性无论readyState值何时发生改变,XMLHttpRequest对象都会激发一个 readystatechange 事件。其中,
15、onreadystatechange 属性接收一个EventListener值,向该方法指示无论readyState值何时发生改变,该对象都将激活。3. respo nseText 属性这个responseText属性包含客户端接收到的HTTP响应的文本内容。当 readyState值为0、1或2时,responseText包含一个空字符串。当readyState值为3 (正在接收)时,响应中包含客户端还未完成的响应信息。当readyState为4 (已加载)时,该 responseText包含完整的响应信息。4. responseXML 属性此属性用于当接收到完整的 HTTP 响应时( re
16、adyState 为 4)描述 XML 响应;此时, Content-Type 头部指定 MIME (媒体)类型为 text/xml , application/xml 或以 +xml 结尾。如果 Content-Type 头部并不包含这些媒体类型之一,那么 responseXML 的值为 null 。 只要 readyState 值不为 4,那么该 responseXML 的值也为 null 。无论何时,其实,这个 responseXML 属性值是一个文档接口类型的对象,用来描述被分析的文档。 文档不能被分析(例如,如果文档不是良构的或不支持文档相应的字符编码),那么如果responseXM
17、L 的值将为 null 。5. status 属性这个属性描述了 HTTP 状态代码,而且其类型为 short 。而且,仅当 readyState 在接收中)或 4(已加载)时,这个 status 属性才可用。当 readyState 的值小于 取 status 的值将引发一个异常。例如: status 等于 200 表示成功, 404 表示未找到资源。值为 3(正3 时试图存状态码 :描述100:Continue101:Switching protocols200:OK201:Created202:Accepted203:Non-Authoritative Information204:No
18、 Content205:Reset Content206:Partial Content300:Multiple Choices301:Moved Permanently302:Found303:See Other304:Not Modified305:Use Proxy307:Temporary Redirect400:Bad Request401:Unauthorized402:Payment Required403:Forbidden404:Not Found405:Method Not Allowed406:Not Acceptable407:Proxy Authentication
19、Required408:Request Timeout409:Conflict410:Go ne 411:Le ngth Required412:Precon dition Failed 413:Request En tity Too Large 414:Request-URI Too Long415:Un su pp orted Media Type 416:Requested Range Not Suitable 417:Ex pectati on Failed500:I nternal Server Error 501:Not Imp leme nted502:Bad Gateway50
20、3:Service Un available 504:Gateway Timeout505:HTT P Versio n Not Su pp orted6. statusText 属性这个属性描述了 HTTP状态代码文本,并且仅当readyState值为3或4才可用。当readyState为其它值时试图存取 statusText属性将引发一个异常。XMLHttpRequest对象的方法下表显示了 XMLHttpRequest对象的一些常用的方法,其中描述部分介绍了这些方法的作用 和意义。方法描述abort()停止当前请求getAllRes po nseHeaders()把HTTP请求的所有相应
21、首部作为键 /值对返回。getRes po nseHeader("header")返回指定首部的串值。op en("method","url")建立对服务器的调用。 method参数可以是GET、POST或PUT等;url参数可以是相对 URL或绝对URL。这个方法还包括 3个可选参数。send(content)向服务器发送请求。setRequestHeader("header","value")把指定首部设置为所提供的值,在设置任何首部之 前必须先调用open()方法。方法:op en创建一个
22、新的httP请求,并指定此请求的方法、URL以及验证信息语法:oXMLHtt pRequest.o pen(bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword);参数bstrMethod htt p方法,例如:P OST、GET、PUT及PROP FIND。大小写不敏感。bstrUrl请求的 URL 地址,可以为绝对地址也可以为相对地址。varAsync 可选 布尔型,指定此请求是否为异步方式,默认为true 。如果为真,当状态改变时会调用onreadystatechange 属性指定的回调函数。bstrUser 可选 如果服务器需要验证
23、,此处指定用户名,如果未指定,当服务器需要验证时,会弹出验证窗 口。bstrPassword 可选 验证信息中的密码部分,如果用户名为空,则此值将被忽略。备注:调用此方法后,可以调用 send 方法向服务器发送数据。xmlhttp.Open("get", "http:/localhost/example.htm", false);方法: send发送请求到 http 服务器并接收回应 语法: xmlhttp.send(varBody);参数: varBody (欲通过此请求发送的数据。)备注:此方法的同步或异步方式取决于 open 方法中的 bAsync 参数,如果 bAsync = False , 此方法将会等待请求完成或者超时时才会返回,如果 bAsync = True ,此方法将立即返回。 如果发送的数据为 BSTR ,则回应被编码为 utf-8, 必须在适当位置设置一个包含 charset 的文 档类型头。如果发送的数据为 XML DOM object ,则回应将被编码为在 xml 文档中声明的编码,如果在 xml 文档中没有声明编码,则使用默认的 UTF-8 。xmlhttp.Send(xmldoc);方法: getAllResponseHeaders 获取响应的所有 http 头 语法: strValue = xmlhttp.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024至2030年中国泡泡贴行业投资前景及策略咨询研究报告
- 2024至2030年中国脱色吸附剂数据监测研究报告
- 2024至2030年中国燃气用埋地聚乙烯电熔异径套管数据监测研究报告
- 2024至2030年中国软木留言板数据监测研究报告
- 2024至2030年中国安全驾驶镜数据监测研究报告
- 2024年发光工艺品项目可行性研究报告
- 中国酒店式公寓市场营销监测与竞争形势评估研究报告(2024-2030版)(-版)
- 端盖注射模具课程设计
- 中国网络剧产业行业经营动态及竞争格局分析研究报告(2024-2030版)
- 中国短指手套行业市场现状分析及竞争格局与投资发展研究报告(2024-2030版)
- 扩张型心肌病诊断和治疗指南
- 电子小报社团教案
- 八大特殊作业安全试题题库
- 标签打印管理办法及流程
- 五四制青岛版2022-2023五年级科学上册第五单元第19课《生物的栖息地》课件(定稿)
- DB65∕T 3253-2020 建筑消防设施质量检测评定规程
- 四年级上册美术教案15《有创意的书》人教版
- 否定词否定句课件(PPT 38页)
- 水力学第12章 相似理论-2015
- 第7章国际资本流动与国际金融危机
- 藏传佛教英文词汇
评论
0/150
提交评论