ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:26.20KB ,
资源ID:18441857      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18441857.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Ajax基础知识Word格式文档下载.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Ajax基础知识Word格式文档下载.docx

1、AJAX(Asynchronous JavaScript and XML)并不是一项新技术,其实是多种技术的综合,包括JavaScript、XHTML和CSS、DOM、XML和XMLHttpRequest。* 服务器端语言:服务器需要具备向浏览器发送特定信息的能力。Ajax与服务器端语言无关。* XML是一种描述数据的格式。Ajax程序需要某种格式化的格式来在服务器和客户端之间传递信息,XML是其中一种选择。* XHTML和CSS标准化呈现。* DOM实现动态显示和交互。* 使用XMLHTTP组建XMLHttpRequest对象进行异步数据读取。* 使用JavaScript绑定和处理所有数据。

2、7、Ajax的优点与缺点优点:* 最大的一点是页面无刷新,在页面内与服务器通信,给用户的体验非常好。* 使用异步方式与服务器通信,不需要打断用户的操作,具有更加迅速的响应能力。* 可以把以前一些服务器负担的工作转嫁给客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担,节约空间和宽带租用成本。并且减轻服务器的负担,ajax的原则是“按需取数据”,可以最大程度的减少冗余请求,和响应对服务器造成的负担。* 基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。缺点:* AJAX大量使用了Javascript和AJAX引擎,而这个取决于浏览器的支持。IE5.0及以上、Mozilla1.0、

3、NetScape7及以上版本才支持,Mozilla虽然也支持AJAX,但是提供XMLHttpRequest的方式不一样。所以,使用AJAX的程序必须测试针对各个浏览器的兼容性。*AJAX更新页面内容的时候并没有刷新整个页面,因此,网页的后退功能是失效的;有的用户还经常搞不清楚现在的数据是旧的还是已经更新过的。这个就需要在明显位置提醒用户“数据已更新”。对流媒体的支持没有FLASH、JavaApplet好。对搜索引擎的支持比较弱。一些手持设备(如手机、PDA等)现在还不能很好的支持Ajax。8、XMLHttpRequest对象XMLHttpRequest是XMLHTTP组件的对象,通过这个对象,

4、AJAX可以像桌面应用程序一样只同服务器进行数据层面的交换,而不用每次都刷新界面,也不用每次将数据处理的工作都交给服务器来做;这样既减轻了服务器负担又加快了响应速度、缩短了用户等待的时间。2XMLHttpRequest最早是在IE5中以ActiveX组件的形式实现的。非W3C标准!由于非标准所以实现方法不统一。 InternetExplorer把XMLHttpRequest实现为一个ActiveX对象。 其他浏览器(Firefox、Safari、Opera)把它实现为一个本地的JavaScript对象。3XMLHttpRequest在不同浏览器上的实现是兼容的,所以可以用同样的方式访问XMLH

5、ttpRequest实例的属性和方法,而不论这个实例创建的方法是什么。4创建XMLHttpRequest对象5XMLHttpReqeust对象的方法abort() 停止当前请求。getAllResponseHeaders() 把http请求的所有响应首部作为键/值对返回。getResponseHeader(headerLabel) 返回指定首部的串值。open(method,url) 建立对服务器的调用,method参数可以是GET、POST。url参数可以是相对URL或绝对URL。这个方法还包括3个可选参数。send(content) 向服务器发送请求。setReqeustHeader(la

6、belvalue) 把指定首部设置为所提供的值。在设置任何首部之前必须先调用open()。6XMLHttpRequest对象的属性onreadystatechange 状态改变的事件触发器readyState 对象状态(interger):0 = 未初始化1 = 读取中2 = 已读取3 = 交互中4 = 完成responseText 服务器进程返回数据的文本版本。responseXML 服务器进程返回数据的兼容DOM的XML文档对象。status 服务器返回的状态码,如:404 = “文件未找到”、200 = “成功”。statusText 服务器返回的状态文本信息。2 Ajax的实现步骤创建

7、XMLHttpReqeust对象服务器端向客户端相应(注册监听)* XMLHttpRequest对象的onreadystatechange属性 该事件处理函数由服务器触发,而不是用户。 在Ajax执行过程中,服务器会通知客户端当前的通信状态。这依靠更新XMLHttpRequest对象的readyState来实现。改变readyState属性是服务器对客户端连接操作的一种方式。每次readyState属性的改变都会触发readystatechange事件。* XMLHttpRequest对象的readyState属性 readyState属性表示Ajax请求的当前状态,它的值用数字代表。 0代表

8、未初始化。还没有调用open方法 1代表正在加载。方法已被调用,但send方法还没有被调用 2代表已加载完毕。已被调用。请求已经开始 3代表交互中。服务器正在发送响应 4代表完成。响应发送完毕* 每次readyState值的改变,都会触发readystatechange事件。如果把onreadystatechange事件处理函数赋给一个函数,那么每次readyState值的改变都会引发该函数的执行。readyState值的变化会因浏览器的不同而有所差异。但是,当请求结束的时候,每个浏览器都会把readyState的值统一设为4。* XMLHttpRequest对象的status属性 服务器发送

9、的每一个响应也都带有首部信息。三位数的状态码是服务器发送的响应中最重要的首部信息,并且属于超文本传输协议中的一部分。 常用状态码及其含义: 404没找到页面(notfound) 403禁止访问(forbidden) 500内部服务器出错(internalserviceerror) 200一切正常(ok) 304没有被修改(notmodified)(服务器返回304状态,表示源文件没有被修改) 在XMLHttpRequest对象中,服务器发送的状态码都保存在status属性里。通过把这个值和200或304比较,可以确保服务器是否已发送了一个成功的响应。建立客户端与服务器端的通信连接* XMLHt

10、tpRequest对象的open(method,url,asynch)XMLHttpRequest对象的方法允许程序员用一个Ajax调用向服务器发送请求。method:请求类型,类似“GET”或”POST”的字符串。若只想从服务器检索一个文件,而不需要发送任何数据,使用GET(可以在GET请求里通过附加在URL上的查询字符串来发送数据,不过数据大小限制为2000个字符)。若需要向服务器发送数据,用POST。url:路径字符串,指向你所请求的服务器上的那个文件。可以是绝对路径或相对路径。asynch:表示请求是否要异步传输,默认值为true(异步)。指定true,在读取后面的脚本之前,不需要等待

11、服务器的相应。指定false,当脚本处理过程经过这点时,会停下来,一直等到Ajax请求执行完毕再继续执行。* 如果请求方式是”POST”方式的话,需要再open()方法后,调用setRequestHeader(header,value)方法当浏览器向服务器请求页面时,它会伴随这个请求发送一组首部信息。这些首部信息是一系列描述请求的元数据(metadata)。首部信息用来声明一个请求是GET还是POST。Ajax请求中,发送首部信息的工作可以由setRequestHeader完成。参数header:首部的名字;参数value:首部的值。如果用POST请求向服务器发送数据,需要将“Content-

12、type”的首部设置为“application/x-www-form-urlencoded”.它会告知服务器正在发送数据,并且数据已经符合URL编码了。该方法必须在open()之后才能调用。客户端向服务器端发送请求* XMLHttpRequest对象的send(data)方法如果请求方式是”GET”方式的话,send()方法发送请求数据,服务器端接受不到参数。 如果请求方式是”POST”方式的话,send方法发送请求数据,服务器端可以接受参数。TestServlet.javapublicclassTestServletextendsHttpServlet voiddoGet(HttpServl

13、etRequest request, HttpServletResponse response)throwsServletException, IOException response.setContentType(text/html);PrintWriter out = response.getWriter();System.out.println(connection server success.println(request.getParameter(a);bcout.println(get connection server successful!doPost(HttpServlet

14、Request request, HttpServletResponse response)doGet(request, response);web.xml?xmlversion=1.0encodingUTF-8web-app2.5xmlnsxmlns:xsihttp:/www.w3.org/2001/XMLSchema-instancexsi:schemaLocationservletdescriptionThis is the description of my J2EE componentdisplay-nameThis is the display name of my J2EE co

15、mponentservlet-nameTestServletservlet-classapp.servlet.TestServlet/servletservlet-mappingurl-pattern/testServlet/servlet-mappingwelcome-file-listwelcome-fileindex.jsptest.jsfunction createXmlHttpRequest() var xmlHttp; try /Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); catch (e) /Internet

16、 Explorer xmlHttp=new ActiveXObject(Msxml2.XMLHTTP tryMicrosoft.XMLHTTP catch (e) return xmlHttp;window.onload = function() document.getElementById(ok).onclick = function() /1.创建XMLHttpRequest对象 var xhr = createXmlHttpRequest(); /* * 2.建立客户端与服务器端的连接 */ xhr.open(POSTtestServlet?timeStamp= + new Date(

17、).getTime() + &c=9,true); /xhr.open(GET /3.客户端向服务器端发送请求数据 /send()如果请求类型是GET方式的话,客户端发送请求数据,服务器端接收不到 /get方式的时候相当于xhr.send(null); /xhr.send(a=7&b=8 /不过可以通过在xhr.open的servlet路径后面加参数发送数据./testServlet? /这里之所以加上时间参数是为了防止缓存 /如果请求类型是POST方式的话,需要设置请求首部信息 xhr.setRequestHeader(Content-Typeapplication/x-www-form-u

18、rlencoded xhr.send( /4.服务器端向客户端进行响应 xhr.onreadystatechange = function() /alert(xhr.readyState); /由于被触发了多次,所以上面会打印多次 if(xhr.readyState=4) /响应发送回来之后,还要根据Status确定有没有成功 if(xhr.status=200) var data = xhr.responseText; alert(data);index.jsp%pagelanguage=javaimport=java.util.*pageEncoding=%!DOCTYPEHTMLPUBL

19、IC-/W3C/DTD HTML 4.01 Transitional/ENhtmlheadtitleMy JSP index.jsp starting pagemetahttp-equiv=pragmacontent=no-cachecache-controlexpires0scripttype=text/javascriptsrc=test/test.js/script/headbodyinputtype=buttonvalue=id=/body/html执行结果:Demo1RegisterServlet.javapublicclassRegisterServletextendsHttpSe

20、rvlet publicvoiddoPost(HttpServletRequest request, HttpServletResponse response)throwsServletException, IOException response.setContentType(text/html;charset=utf-8String username = request.getParameter(usernameSystem.out.println(username = +username);/查询数据库表if(username=null|.equals(username)out.println(请输入你的用户名!elseif(username.equals(sa)该用户名已存在!else该用户名可以使用!register.jsputf-8-/W3C/DTD HTML 4.01 Transitional/

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1