这几天开始学习Ajax了,不是很懂,只了解皮毛;做了如下总结,有的部分也不是很明白,在今后的学习中去挖掘。
概念:
Ajax:是一种无需重新加载整个网页的情况下,能够更新部分网页的技术;
1,是几种技术的组合——JavaScript,DOM,XML,CSS
2,Asynchronous JavaScript and XML(异步 JavaScript 与 XML)
3,是一种用于创建快速动态网页的技术;
4,通过在后台与服务器进行少量的数据交换,Ajax可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新;
5,传统的网页(不使用Ajax)如果需要更新内容,必须重载整个网页面;
6,例子:以Ajax方式使用E-mail
传统的基于浏览器的E-mail存在的问题是,用户看到一个E-mail列表,但每次只能单机一个,然后进入一个全新的页面;如果想看E-mail列表的其他邮件,则需要返回到E-mail列表并再次滚动来查看其他E-mail;
Ajax方式的E-mail处理则不同,可以实现:单击E-mail列表中的某一封邮件,将自动下载该邮件,并在本页面下方显示本邮件内容,不需要浏览器刷新;
换句话说,Ajax已成功地将应用程序转变为在线应用程序,它解决了在线应用程序通常遇到的问题;
组成:
是几种技术的组合——JavaScript,DOM,XML,CSS……异步
工作机制:
概括:XMLHttpRequest对象负责发送请求,并且接受响应数据,然后借助JavaScript处理响应数据,更新页面内容,这样一来页面不会整体刷新,保证了用户浏览器的连续性
特点:
1,Web应用程序中的组件可以在不刷新整个页面的情况下想服务器发送请求,获得响应数据,通过操作DOM调整页面显示;
2,向服务器发出请求并不会引起浏览器端的阻塞,浏览者可以继续使用Web应用程序的其他组件;
3,浏览者与服务器更为全面地交互。浏览者的所有行为都可以激发异步请求,与服务器交互;
优势:
在如下几个方面改善了浏览器与服务器之间的交互:
1,降低服务器数据发送量;
2,可以把服务器负担的部分工作转嫁到客户端,利用客户端闲置的处理能力来处理,减轻服务器和宽带的负担,节约空间和带宽租用成本;
3,扩展了客户端事件,几乎所有的客户端操作都可以借助Ajax技术与服务器端交互;
4,Ajax使Web页面中的界面与应用分离(也可以说是数据与呈现分离);
降低服务器数据发送量:例如,网站在用户注册的页面上都提供一个检查用户名是否存在的按钮,利用Ajax技术,单机该按钮后,浏览器通过XMLHttpRequest对象将用户名传送给服务器,服务器对数据库进行检索,验证用户名是否可用并反馈一个逻辑值,告诉用户名是否被注册。而传统的模式下,即使反馈的页面非常简单,其中的HTML标记页远不止几个字符;
缺陷:
1,Ajax大量使用了JavaScript和Ajax引擎,而这个取决于浏览器的支持。所以,使用Ajax的程序必须测试针对各个浏览器的兼容性;
2,Ajax在更新页面内容的时候并没有刷新整个页面,因此,网页的后退功能是失效的,虽然目前有可行性方案解决这一问题,但提高了开发的复杂性;此外,有时数据更新后用户还搞不清楚数据是否更新过,因此采取相应的措施提醒用户;
3,对搜索引擎不够友好,即时加载的页面难于被搜索引擎收录;
4,对流媒体的支持没有Flash,Applet好;
5,一些手持设备(如手机、PDA等)现在还不能很好的支持Ajax
总结:
Ajax技术表现出来的最独特的一点就是:无刷新更新页面,减少用户实际和心理等待时间,为用户提供更完美的体验
刚刚开始学习,它的优点和缺点会在今后的学习中去挖掘