AJAX步步精心系列(一)AJAX简介


一 定义

    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应用程序必须在众多不同的浏览器和平台上经过严格的测试。


(二)缺点及解决方案

1、破坏浏览器的后退功能。

    用户通常都希望单击后退按钮,就能够取消他们的前一次操作,但是在Ajax应用程序中,却无法这样做。在动态更新页面的情况下,用户无法回到前一个页面状态,这是因为浏览器仅能记下历史记录中的静态页面。一个被完整读入的页面与一个已经被动态修改过的页面之间的差别非常微妙。

    解决方案:可以通过创建或使用一个隐藏的IFRAME来重现页面上的变更。

 

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技术,是一套综合了多项技术的浏览器端网页开发技术.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 25
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值