当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 认识AJAX了解AJAX优点缺点和运用

Javascript
javascript下操作css的float属性的特殊写法
javascript之DIV拖动类 支持在FF下拖动,调用简单
Expandable "Detail" Table Rows
用javascript实现给出的盒子的序列是否可连为一矩型
PNGHandler-借助JS让PNG图在IE下实现透明(包括背景图)
JS创建优美的页面滑动块效果 - Glider.js
发一个比较漂亮的选项卡动态增删的效果
可多次使用的仿126邮箱选项卡的源码
javascript仿XP关机效果的弹出窗口功能
JS控制CSS样式的方法
非常漂亮的JS代码经典广告
推荐自用 Javascript 缩图函数 (onDOMLoaded)……
几个不错的自动收缩菜单导航效果
iframe src为图片时的高度自适应的代码
论坛转贴工具中用到的正则表达式学习正则的好例子
用javascript实现的不错的一款网页选项卡
摘自百度的图片轮换效果代码
用javascript实现旋转图片效果的代码
javascript 制作坦克大战游戏初步 图片与代码
比较简单的jquery教程 Easy Ajax with jQuery 中文版全集

Javascript 中的 认识AJAX了解AJAX优点缺点和运用


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 377 ::
收藏到网摘: n/a

本文让你简单认识AJAX,了解AJAX优点、缺点以及如何运用.

  AJAX浅谈

  AJAX技术在1998年前后开始应用于Web,之后经由Google把它发扬光大,让更多人了解到JavaScript原来可以这样使用,而不再是过去广告字显示或画面渐层等刻版印象。如今AJAX已不再是新名词或新技术,而最经典、有名的代表作算是Google Suggest及Google Maps。

  AJAX的定义

  AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术。

  AJAX vs. 传统

  JavaScript在传统的作法是,你的档案或数据库来自server端或是要送到server,你可以用HTML窗体,并用GET或POST的方式透过submit按键将数据送到server端,然后等待响应讯息。但是使用AJAX,你可以使用JavaScript的XMLHttpRequest 对象跟server做沟通,可以藉由从server响应的数据,直接更新全部或部份的页面。

  AJAX的优点

  a. 不必更新全部网页,可更新部份页面。

  b. 优化了browser和server之间的沟通,减少不必要的数据传输、时间及降低网络上数据流量。

  c. 平衡了前、后端的负载,原本数据大多由后端负责处理,借由AJAX让客户端分担些工作,减低了后端的负载。

  AJAX的缺点

  a. browser的通用性,每个user端的浏览器不尽相同、版本也不一致,有可能会造成无法动作问题。

  b. 客户端会过肥,太多程序代码在客户端也会造成开发上的成本。

  c. 可能会暴露服务端,有可能被恶意攻击、窜改,而造成安全上的漏洞。

  AJAX的运用

  为什么AJAX适合用于装载作业呢? 传统的网页数据更新,大多是在server端数据更新后便将数据送回client端的browser,当browser得到更新的请求时才会将网页内容更新。当user执行装载作业后,作业的状态讯息尚未回传,此时若再进行下个作业,往往会造成状态讯息遗失。也正因为装载系统还需要控制前端的水泥装载,设备间的状态一有变动,网页内容要能做到及时更新,使网页中的 embedded object 与多部硬设备间的沟通一直保持连结。在考虑多部硬件操作不会干扰彼此下,采用Ajax可以使整个作业流程更加顺畅、合理。

  例如:当user想要做水泥装载时,按下装载按键时,如果使用JavaScript去呼叫客户端的com组件,可能会因为装载需要等候一段时间,导致网页整个当掉,也影响到其它按钮的失效。这时若借用AJAX的技术作为辅助,AJAX的每次动作就会用XML Http Request跟server做沟通,待server响应后,接收响应数据更新Model状态、数据库及网页页面,这样一来user不用一直等待实际装载的时间,也不会造成页面按钮失效。

  AJAX的应用并非只在水泥装载这一项,目前也运用在其它功能及系统上。考虑系统整体的实际使用面,AJAX解决了数据延迟的问题,也改善了数据传输的速度,使得各营运据点能提供更快速的服务。