Ajax发烧友,请冷静

    Ajax是Asynchronous JavaScript + XML(异步JavaScript + XML)的缩写,不过现在这个词的覆盖面有所扩展,把允许浏览器与服务器通信而无需刷新当前页面的技术都涵盖在内。可以看出Ajax的核心是异步和部分刷新。
Ajax技术是在客户端和服务器之间插入一个“中转站”,这个“中转站”就是XMLHttpRequest对象(XHR):
1、首先客户端向“中转站”发送JavaScript指令,再由“中转站”发送给服务器。
2、服务端程序把响应事件发送到“中转站”,再由“中转站”根据客户端的请求反馈,并在客户端进行JavaScript处

理。
==这样就实现了客户端/服务器异步交互。
  Google MapsGoogle Suggest、Gmail、FlickrNetflixamazon钻石搜索等应用使Ajax变得越来越炙手可热。

优点
1、登录页面(包括登录表单和导航条、图片等等),用户提交用户名和密码,发送服务器端验证,
如果错误就重新生成一个比以前的页面多了个“错误提示信息”的页面(传统的);
而(Ajax的)不用重新生成一个页面,只是在原来的页面上多个“错误提示信息”,其他部分不用重新加载,用户感觉网络的速度快了好多了。

2、Google Suggest:在输入框中根据你打入的字母智能地跳出候选语。想象下如果你没敲入一个字母就刷新整个页面一次的话,太痛苦了!用户宁愿不要什么见鬼的智能提示!

3、如Netflix,现在很多网站出现了,鼠标指向某个商品图片,就动态出现一个提示该商品的详细信息的带有阴影的对话框。

4、新浪的NBA文字直播如果用Ajax技术,就不会出现不能及时刷新比分、而比分比分没改变是它也重新整个页面刷新这种让人人痛苦的体验了(有时候ie都not run)。Ajax技术可以做到比分发生变化才部分更新(而且更新用YFT技术提示用户这些是最新更新的信息),不用把以前的比赛情况也一起刷新。这样又就清爽多了!

5、部门结构、文档的分类结构常常使用树形控件呈现,用Ajax我一点某个学校名就只加载学院列表,
点某学院名才加载该学院的课程列表。(以前我一点某个学校名就一次性加载了所有学院的所有课程列表,没有选择性的呈现数据)

6、Ajax是一个客户端技术,不论你现在使用何种服务器端技术,都能使用Ajax,而不管使用的是Java、.NET、Ruby、PHP还是CGI。

7、Ajax技术应用在诸如反馈表单和购物车之类的页面元素上是最恰当的。

8、等等还有很多好的体验~~~

 

   老板们纷纷要求能向客户提供类似的全新的体验。Ajax这个听起来很不可思议新名堂,也很大程度激起了程序员的热情。就这样Ajax在社区占尽风头。

 

缺点

1、这一点很重要,使用Ajax不要过度。记住,JavaScript会在客户端的浏览器上运行,如果有数千行JavaScript代码,可能会让用户感觉速度太慢。如果脚本编写不当,就会很快失去控制,特别是当通信量增加时。 若这样用户很快就会点击“跳过本页”链接跳过你精心设计的这些部分。

2、JavaScript很让人头疼,框架繁多让人无所适从。

3、浏览器到“后退”或“书签”功能受干扰。

建议:
 
Ajax技术应该完全从用户出发,提供丰富的用户体验。要应用在尽力减少客户和服务器之间的通信量方面上。
如果应用得当,Ajax会使你的应用响应更快(“得当”两字难把握啊,不过可以告诉大家:验证和表单填写就非常适合采用Ajax实现)。
   把Ajax当做“调味品”而不是“必需品”,不要把Ajax集成到web应用的核心部分。比如你要做个登录页面,应先按久经考验的传统的套路去做(完整刷新的),再把表单提交动作拦截下来并代之以经由XMLHttpRequest对象转发给服务器
(如果我们去掉Ajax,web应用仍能工作,只是等待时间长点;若反过来就用Ajax做核心,一去掉Ajax将慢n倍--从这点可看出,将来就是Ajax的天下了,因为一用Ajax就回不去了,而且我前面提到过的:Ajax是一个客户端技术,不论你现在使用何种服务器端技术,都能使用Ajax,而不管使用的是Java、.NET、Ruby、PHP还是CGI。)

         哥们悠着点,Ajax的未来将会逐渐消失在人们的视野之中。它将会隐藏在框架之下,由框架来完成所有的脏活、累活。标准html呈现与复杂的图形输出都毫无例外地集成在客户端,它们将通过xml或json等结构化数据格式实现服务端和客户端之间的数据通信。并且几乎可以肯定,客户端的JavaScript和服务端的通信层,对你而言95%的部分是隐藏的。Ajax将是这些框架的工作模式而不是你的工作模式。
你现在搞得半死整出很cool的Ajax UI展现,到处宣扬几天。一个新手利用框架最新增加的内置组件却哗啦啦两下就整出个更cool的呈现!那时你~~你吐血去吧,说不定由于框架的更新,你所用的技术在最新框架已经不能用了,那你是不是该晕倒!

  套用现在流行的话说:Ajax很好,很强大;但不是万能的!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值