一、Ajax概述
Ajax概念是在2005年提出的。
AJAX即“Asynchronous Javascript And XML”( 异步 JavaScript和XML),
AJAX不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术。
使用Ajax,我们可以无刷新状态更新页面,并且实现异步提交。
它是一套综合了多项技术的浏览器端网页开发技术。
这些技术包括Javascript、XHTML和CSS、DOM、XML和XMLHttpRequest.
1、javascript
通过用户或其他与浏览器相关事件捕获交互行为。
2、XMLHttpRequest对象
通过这个对象可以在不中断其他浏览器任务的情况下向服务器发送请求
3、服务器上的文件,以XML、html或者json格式保存文本数据
4、其他javascript,解释来自服务器的数据(比如PHP从MysqL获取的数据),并将其呈现到页面上。
二、为什么使用Ajax?
Ajax最关键的就是实现异步请求、接收响应以及执行回调
异步和同步的不同
普通的web程序开发都是同步的,意为执行一段程序才能执行执行下一段,类似电话的通话。
异步可以同时执行多条任务,类似短信。Ajax也可以使用同步模式,但同步的模式属于堵塞模式,这样导致多条线路又必须一条一条执行,会让web页面出现假死状态,所以,一般Ajax大部分采用异步模式
(一)优点:
使用Ajax的最大优点,就是能在不更新整个页面的前提下维护数据。
这使得Web应用程序更为迅捷地响应用户动作,并避免了在网络上发送那些没有改变的HTML代码信息。
1、不需要插件支持(一般浏览器且默认开启javascript即可)
2、用户体验好(不刷新页面即可获取可更新的数据)
3、提高web程序的性能(在传递数据方面做到按需放松,不必整体提交)
4、减轻服务器和带宽的负担(将服务器的一些操作转移到客户端)
(二)缺点:
1、不同版本的浏览器对XMLHttpRequest对象支持度不足(IE5之前)
2、前进、后退的功能被破坏,因为Ajax永远在当前页,Ajax更新页面内容的时候并没有刷新整个页面
说明:1和2 两点,已经在慢慢淡化
3、搜索引擎的支持度不够(因为搜索引擎爬虫还不能理解Js引起变化数据的内容)
三、Ajax原理
运用HTML和css来实现页面,表达信息
通过浏览器的XmlHttpRequest(Ajax引擎)对象
来向服务器(发送异步请求)并(接收服务器)的响应数据,
然后用javascript来操作DOM,实现动态局部刷新。
四、Ajax实现过程
第一步: Javascript监听浏览器网页事件(点击,提交,更改等)
第二步: 由javascript创建Ajax引擎对象
第三步: 通过Ajax引擎对象发出请求
第四步: Ajax引擎等待并且接受服务器的响应内容