




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Ajax入门练习,如何使用正则,正则表达式的结构与算术表达式的结构类似。即,各种元字符和运算符可以将小的表达式组合起来,创建大的表达式。通过在一对分隔符之间放置表达式模式的各种组件,就可以构建正则表达式。对于JScript,分隔符是正斜杠(/)字符。例如:/expression/在上面的示例中,正则表达式模式(expression)存储在RegExp对象的Pattern属性中。正则表达式的组件可以是单个字符、字符集、字符的范围、在几个字符之间选择或者所有这些组件的任何组合。,基本原理,基本上,XMLHttpRequest非同步发送并不难,只要几个简单的范例就可以了解如何发送請求与处理回应。AsynchronousJavaScript+XMLXMLHttpRequestHello!Ajax!发送请求参数XML传送与接收JSON传送与接收,Ajax这个名词是由JesseJamesGarrett提出,在他发表的Ajax:ANewApproachtoWebApplications这篇文章中谈到GoogleSuggest与GoogleMaps所使用到的技术,是他们在AdaptivePath中称之为Ajax的新方法:GoogleSuggestandGoogleMapsaretwoexamplesofanewapproachtowebapplicationsthatweatAdaptivePathhavebeencallingAjax.ThenameisshorthandforAsynchronousJavaScript+XML,anditrepresentsafundamentalshiftinwhatspossibleontheWeb.,在本课中指出,Ajax是AsynchronousJavaScript+XML的简称,这指出了Ajax的核心观念(Asynchronous)与所使用到的主要两个技术(JavaScript、XML)。Asynchronous为异步,要了解Ajax,必须先了解为何要异步。现在许多的应用程序都是在Web上展现,这托了因特网的普及之福,然而网络当初是Web应用程序繁荣的舞台,现在却也成了限制Web应用程序发展的因素。,限制的原因来自于网络延迟的不可确定性,网络联机其实是个很耗资源的行为,程序必须序列化、通讯协议沟通、实体路由传送等动作,这些动作都很耗时间与资源,所有透过网络必需的额外操作,常足以拖慢一个系统,就Web应用程序而言,通常只能透过窗体进行数据提交,在同步的情况下,使用者送出窗体之后,就只能等待远程服务器响应,在这段时间内,使用者无法作进一步的操作。,上图中阴影部份为送出窗体之后,使用者必须等待的时间,浏览器预设是使用同步的方式送出请求并等待响应,这也可以想象成存取一个很慢的硬盘,如果这是桌面应用程序,您就可以想象这种等待有多枯燥,人们之所以可以忍受Web应用程序的这种等待,某些原因是因为无从选择而习惯了。如果可以把请求与响应改为异步进行,也就是发出请求后,浏览器无需苦等服务器的响应,而可以让使用者对浏览器中的Web应用程序进行其它的操作,当服务器终于处理完请求并送出响应,而计算机接收到响应时,再回过头来呼叫浏览器所设定的对应动作进行处理。,现在的问题是,谁来发送异步请求,事实上有几种解决方案,在Ajax这个名词被提出之前,早就有着用IFrame的方式,也就是在HTML页面中内嵌另一个HTML页面,由内嵌的页面来发出请求,而外围的HTML页面还是可以继续让使用者进行操作,有时候IFrame的解决方式会是简单的,甚至比较好的。不过现在谈到Ajax,都着重在XMLHttpRequest对象,您可以使用JavaScript来建立,其实Firefox、NetScape、Safari、Opera中才叫XMLHttpRequest,InternetExplorer中是Microsoft.XMLHTTP或Msxml2.XMLHTTP的ActiveX物件,不过IE7中也正名为XMLHttpRequest。,Ajax应用程序是必须由客户端、服务器端一同合作的应用程序,JavaScript是用来撰写Ajax应用程序客户端的语言,XML则是请求时或响应时,建议使用的交换数据格式,Ajax的客户端与服务器端基本上是可以独立开发的,只要协议好沟通的数据格式,服务器端不限于使用何种技术。,XMLHttpRequest,在Ajax应用程序中,如果是Mozilla/Firefox/Safari中,可以通过XMLHttpRequest来发出异步请求,如果是在IE6或IE先前版本,则是使用ActiveXObject来发出异步请求,为了各个不同浏览器间的兼容性,必须进行测试可取得XMLHttpRequest或ActiveXObject,例如:varxmlHttp;functioncreateXMLHttpRequest()if(window.XMLHttpRequest)/如果可以取得XMLHttpRequestxmlHttp=newXMLHttpRequest();/Mozilla、Firefox、Safarielseif(window.ActiveXObject)/如果可以取得ActiveXObjectxmlHttp=newActiveXObject(Microsoft.XMLHTTP);/InternetExplorer,这段程序代码可以满足大部份的浏览器,您可以再进一步检查是否真正生成了对象,例如:if(xmlHttp)/dorequestelsealert(您的浏览器不支持这个Ajax程序的功能);,在建立XMLHttpRequest之后,则可以使用以下的几种方法:voidopen(stringmethod,stringurl,booleanasynch,stringusername,stringpassword)开启对服务器端的连结;method为请求方式(GET、POST);url为服务器端地址,如果是GET的话,可加上请求参数与值;asynch为异步设定,预设是true,表示使用异步方式。voidsend(content)对服务器端传送请求,content这以放XML、输入串流、字符串、JSON格式的内容,放进去会放在POST本体中发送。,voidsetRequestHeader(stringheader,stringvalue)为HTTP请求设定一个给定的header设定值。voidabort()用来中断请求。stringgetAllResponseHeaders()传回一个字符串,其中包含HTTP请求的所有响应标头。stringgetResponseHeader(stringheader)传回一个字符串,其中包含指定的响应标头值。,XMLHttpRequest包括以下几个标准属性:onreadystatechange参考至callback函数,readyState每次改变时,都会呼叫onreadystatechange所参考的函数。readyState会有0到4的数值,分别表示不同的请求状态:0=未初始化的联机(uninitialized),还没呼叫open()1=载入中(loading),呼叫open(),还没呼叫send()2=已载入(loaded),呼叫send(),请求header/status准备好3=互动中(interactive),正在与服务器互动中4=请求完成(completed),完成请求,responseText服务器传来的请求响应文字,会设定给这个属性。responseXML服务器传来的请求响应如果是XML,会成为DOM设定给这个属性。status服务器响应的状态码,例如200是OK,404为NotFoundstatusText服务器响应的状态文字。,一个基本的Ajax请求可以是以下的片段:functionstartRequest()createXMLHttpRequest();/建立异步请求对象xmlHttp.onreadystatechange=handleStateChange;/设定callback函数xmlHttp.open(GET,simpleResponse.txt);/开启连结xmlHttp.send(null);/传送请求functionhandleStateChange()/在这边处理异步响应,当每次readyState改变时,都会呼叫以上程序片段中设定的handleSta
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 能源转型2025:煤炭清洁利用技术产业链上下游研究报告
- 幼儿园园长标准聘用合同范本
- 社群展会活动方案
- 端午团建手工活动方案
- 田间摸鱼活动方案
- 端午外卖烤鱼活动方案
- 电影街区活动方案
- 电厂运行文化活动方案
- 砸金蛋幼儿活动方案
- 线上活动员工活动方案
- TCADHOH 0003-2023 手语传译职业技能评价规范
- 数学课题研究报告PPT模板下载
- 《幼儿园中班家长会》 课件
- GB/T 18839.1-2002涂覆涂料前钢材表面处理表面处理方法总则
- 企业创新体系建设课件
- 麻风病讲义优秀PPT(共23张PPT)精选
- 家蚕饲养技术课件
- Britax宝得适百代适儿童汽车安全座椅推车婴童用品全线产品介绍
- 万科企业股份有限公司员工职务行为准则
- 焊材入库、发放与回收记录模板
- 生药学-绪论-第一章
评论
0/150
提交评论