一 定义
AJAX即“Asynchronous JavaScript and XML”(异步的JavaScript与XML技术),不是新的编程语言,而是一种使用现有标准的新方法。是一套综合了多项技术的浏览器端网页开发技术。
AJAX通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。而传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。
二 应用
- 运用基于web标准XHTML+CSS来表达信息;
- 运用DOM来运行动态显示及交互;
- 运用XML和XSLT操作数据
- 运用XMLHttpRequest进行异步数据检索;
- 运用JavaScript技术, 将所有的东西绑定在一起。
总结:在AJAX中JavaScript主要被用来传递用户界面上的数据到服务端并返回结果。XMLHttpRequest对象用来响应通过HTTP传递的数据,一旦数据返回到客户端就可以立刻使用DOM将数据放到网面上。
三 传统的Web开发PK AJAX
四 优缺点
(一)优点
更迅捷的响应速度。能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。
Ajax不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。就像DHTML应用程序那样,Ajax应用程序必须在众多不同的浏览器和平台上经过严格的测试。
(二)缺点及解决方案
原文链接:https://www.f2er.com/ajax/165404.html1、破坏浏览器的后退功能。
用户通常都希望单击后退按钮,就能够取消他们的前一次操作,但是在Ajax应用程序中,却无法这样做。在动态更新页面的情况下,用户无法回到前一个页面状态,这是因为浏览器仅能记下历史记录中的静态页面。一个被完整读入的页面与一个已经被动态修改过的页面之间的差别非常微妙。
2、难于将某个特定的状态保存到收藏夹中。
解决方案:大部分都使用URL片断标识符(通常被称为锚点,即URL中#后面的部分)来保持追踪,允许用户回到指定的某个应用程序状态。
3、网络延迟。
即用户发出请求到服务器发出响应之间的间隔。如果不给予用户明确的回应,没有恰当的预读数据,或者对XMLHttpRequest的不恰当处理,都会使用户感到厌烦。
4、Ajax的无刷新重载。
5、浏览器的兼容性问题
Ajax在本质上是一个浏览器端的技术。各家浏览器对于JavaScript/DOM/CSS的支持总有部分不太相同或是有Bug,甚至同一浏览器的各个版本间对于JavaScript/DOM/CSS的支持也有可能部分不一样。导致写Ajax应用时花费时间在调试浏览器的兼容性而非在应用程序本身。。
6、业务逻辑分散
Ajax技术之主要目的在于局部交换客户端及服务器之间的数据。由于业务逻辑可能分散在客户端及服务器,且以不同之程序语言实现,这导致Ajax应用程序极难维护。
7、多进程或多线程的竞争问题
Ajax是以异步的方式向服务器提交需求。如果同时有多个Ajax需求及窗体提交需求时。程序员因此必须自行处理或在JavaScript里面动手脚以避免这类竞争问题的发生。
小结:AJAX,异步的JavaScript与XML技术,是一套综合了多项技术的浏览器端网页开发技术.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。