1.同步交互和异步交互
举个例子:普通B/S模式(同步/WEB1.0) AJAX技术(异步/WEB2.0)
* 同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事* 异步: 请求通过事件触发->服务器处理(这时浏览器仍然可以作其他事情)->处理完毕
同步是指:发送方发出数据后,等接收方发回响应以后才发下一个
数据包的通讯方式。 异步是指:发送方发出数据后,不等接收方发回响应,接着发送下
个数据包的通讯方式
图片理解:
2.AJAX的全称
Ajax被认为是(Asynchronous JavaScript And Xml的缩写)。现在,允许浏览器与服务器通信而无须刷新当前
页面的技术都被叫做Ajax.现代Web应用以Ajax为主流,Ajax=C/S表面现象+B/S本质
ajax其实是各种技术的合用如AJAX = HTML(内容)+CSS(样式)+JS(交互)+XHR(XMLHttpRequest异步对象)+DOM(规则)+XML
XMLHttpRequest:该对象是对 JavaScript 的一个扩展,可使网页与服务器进行通信。是创建 Ajax 应用的最佳选择。实际上通常把 Ajax 当成 XMLHttpRequest(XHR) 对象的代名词
3.AJAX的原理:
图片解释:
(1)AJAX采用异步交互过程。AJAX在用户与服务器之间引入一个中间媒介,从而消除了网络交互过程中的处理—等待—处理—等待缺点。
(2)用户的浏览器在执行任务时即装载了AJAX引擎。AJAX引擎用JavaScript语言编写,通常藏在一个隐藏的框架中。它负责编译用户界面及与服务器之间的交互。
(3)AJAX引擎允许用户与应用软件之间的交互过程异步进行,独立于用户与网络服务器间的交流。现在,可以用Javascript调用AJAX引擎来代替产生一个HTTP的用户动作,内存中的数据编辑、页面导航、数据校验这些不需要重新载入整个页面的需求可以交给AJAX来执行。
(4)Ajax关键是XMLHttpRequest异步对象,每种浏览器创建的方式不一样,IE中主要是以ActiveXObject对象的形式出现,而非IE中以XMLHttpRequest对象出现。
(5)每种浏览器都内置Ajax引擎对象,但需要通过JS来创建
4.AJAX的缺陷
1 AJAX大量使用了JavaScript和AJAX引擎,而这个取决于浏览器的支持。IE5.0及以上、Mozilla1.0、NetScape7及以上版本才支持,Mozilla虽然也支持AJAX,但是提供XMLHttpRequest的方式不一样。所以,使用AJAX的程序必须测试针对各个浏览器的兼容性。 2 AJAX更新页面内容的时候并没有刷新整个页面,因此,网页的后退功能是失效的;有的用户还经常搞不清楚现在的数据是旧的还是已经更新过的。这个就需要在明显位置提醒用户“数据已更新”。 3 对流媒体的支持没有FLASH好。 4 一些手持设备(如手机、PDA等)现在还不能很好的支持Ajax。